京东商品API接口解析:获取商品详情和评论

237 阅读9分钟

京东商品API接口通常用于开发者获取京东平台上的商品信息、商品详情、商品评论等数据。这些接口可以帮助开发者构建比价工具、商品推荐系统、评论分析等功能。以下是关于如何获取商品详情和评论的解析。


1. 京东商品API接口概述

京东提供了开放平台(Open Platform),开发者可以通过申请API权限来获取商品数据。常用的API接口包括:

  • 商品详情接口:获取商品的基本信息、价格、库存、描述等。
  • 商品评论接口:获取商品的用户评论、评分、评论数量等。

2. 获取商品详情

2.1 接口说明

通过商品ID(SKU ID)获取商品的详细信息,包括标题、价格、图片、描述等。

2.2 请求参数

参数名类型是否必填说明
num_iidString商品ID(支持多个,用逗号分隔)
fieldsString返回字段(如 name,price,image
access_tokenString授权令牌(需申请)

2.3 示例请求

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.PrintWriter;
import java.net.URLConnection;

public class Example {
	private static String readAll(Reader rd) throws IOException {
		StringBuilder sb = new StringBuilder();
		int cp;
		while ((cp = rd.read()) != -1) {
			sb.append((char) cp);
		}
		return  sb.toString();
	}
	public static JSONObject postRequestFromUrl(String url, String body) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		conn.setDoOutput(true);
		conn.setDoInput(true);
		PrintWriter out = new PrintWriter(conn.getOutputStream());
		out.print(body);
		out.flush();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static JSONObject getRequestFromUrl(String url) throws IOException, JSONException {
		URL realUrl = new URL(url);
		URLConnection conn = realUrl.openConnection();
		InputStream instream = conn.getInputStream();
		try {
			BufferedReader rd = new BufferedReader(new InputStreamReader(instream, Charset.forName("UTF-8")));
			String jsonText = readAll(rd);
			JSONObject json = new JSONObject(jsonText);
			return json;
		} finally {
			instream.close();
		}
	}
	public static void main(String[] args) throws IOException, JSONException {
		// 请求示例 url 默认请求参数已经URL编码处理
		String url = "https://api-gw.fan-b.com/jd/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=10335871600&domain_type=jd";
		JSONObject json = getRequestFromUrl(url);
		System.out.println(json.toString());
	}

}


2.4 返回示例

{
	"item": {
	  "num_iid": "100126351037",
	  "title": "京东鲜花爱丽丝泡泡鲜切花云南鲜花家庭插花爱丽丝泡泡10枝源头直发",
	  "desc_short": "",
	  "price": "30.90",
	  "total_price": "",
	  "suggestive_price": "",
	  "orginal_price": "49.00",
	  "nick": "京东鲜花自营专区",
	  "num": "99",
	  "detail_url": "https://item.jd.com/100126351037.html",
	  "pic_url": "http://m.360buyimg.com/mobilecms/s1080x1080_jfs/t1/237316/6/21934/216236/672351e2F577e6517/05e435e41704c438.jpg!q70.jpg.webp",
	  "sku_pic": "http://m.360buyimg.com/mobilecms/s1080x1080_jfs/t1/237316/6/21934/216236/672351e2F577e6517/05e435e41704c438.jpg!q70.jpg.webp",
	  "brand": "京东鲜花",
	  "brandId": "777210",
	  "rootCatId": "",
	  "cid": "12473",
	  "desc": "",
	  "item_imgs": [
		{
		  "url": "http://m.360buyimg.com/mobilecms/s1080x1080_jfs/t1/237316/6/21934/216236/672351e2F577e6517/05e435e41704c438.jpg!q70.jpg.webp"
		},
		{
		  "url": "http://m.360buyimg.com/mobilecms/s1080x1080_jfs/t1/130400/14/49841/200051/672351e1F7586d48e/017bd81ed5b931e0.jpg!q70.jpg.webp"
		},
		{
		  "url": "http://m.360buyimg.com/mobilecms/s1080x1080_jfs/t1/163105/34/50182/163954/672351deFf0c2659c/8656066ad673967b.jpg!q70.jpg.webp"
		},
		{
		  "url": "http://m.360buyimg.com/mobilecms/s1080x1080_jfs/t1/213329/6/45782/224845/672351deFc2298b4c/3b19b7f988852b73.jpg!q70.jpg.webp"
		}
	  ],
	  "item_weight": "",
	  "post_fee": "",
	  "freight": "",
	  "express_fee": "",
	  "ems_fee": "",
	  "shipping_to": "",
	  "video": {
		"url": null
	  },
	  "sample_id": "",
	  "props_name": "1:1:规格:【买20枝送10枝】随机色玫瑰20枝送10枝尤加利;1:2:规格:玫瑰混搭小花束;1:3:规格:玫瑰百合混搭小花束;1:4:规格:玫瑰向日葵混搭小花束;1:5:规格:多头泡泡单色随机10枝;1:6:规格:多头泡泡混搭随机10枝;1:7:规格:多头橙芭比泡泡10枝;1:8:规格:多头折射泡泡10枝;1:9:规格:多头黄泡泡10枝;1:10:规格:多头红泡泡10枝;1:11:规格:多头爱丽丝泡泡10枝;1:12:规格:多头果汁阳台泡泡10枝;1:13:规格:多头巧克力泡泡10枝",
	  "prop_imgs": {
		"prop_img": []
	  },
	  "props_imgs": {
		"prop_img": [
		  {
			"properties": "1:1",
			"url": ""
		  },
		  {
			"properties": "1:2",
			"url": ""
		  },
		  {
			"properties": "1:3",
			"url": ""
		  },
		  {
			"properties": "1:4",
			"url": ""
		  },
		  {
			"properties": "1:5",
			"url": ""
		  },
		  {
			"properties": "1:6",
			"url": ""
		  },
		  {
			"properties": "1:7",
			"url": ""
		  },
		  {
			"properties": "1:8",
			"url": ""
		  },
		  {
			"properties": "1:9",
			"url": ""
		  },
		  {
			"properties": "1:10",
			"url": ""
		  },
		  {
			"properties": "1:11",
			"url": ""
		  },
		  {
			"properties": "1:12",
			"url": ""
		  },
		  {
			"properties": "1:13",
			"url": ""
		  }
		]
	  },
	  "property_alias": "1:1:【买20枝送10枝】随机色玫瑰20枝送10枝尤加利;1:2:玫瑰混搭小花束;1:3:玫瑰百合混搭小花束;1:4:玫瑰向日葵混搭小花束;1:5:多头泡泡单色随机10枝;1:6:多头泡泡混搭随机10枝;1:7:多头橙芭比泡泡10枝;1:8:多头折射泡泡10枝;1:9:多头黄泡泡10枝;1:10:多头红泡泡10枝;1:11:多头爱丽丝泡泡10枝;1:12:多头果汁阳台泡泡10枝;1:13:多头巧克力泡泡10枝",
	  "props": [
		{
		  "name": "品牌:",
		  "value": "京东鲜花"
		},
		{
		  "name": "商品名称:",
		  "value": "京东鲜花爱丽丝泡泡10枝"
		},
		{
		  "name": "花头数量:",
		  "value": "多头"
		},
		{
		  "name": "国产/进口:",
		  "value": "国产"
		},
		{
		  "name": "是否醒花:",
		  "value": "需要醒花"
		},
		{
		  "name": "开放程度:",
		  "value": "微露花芯(2度)"
		}
	  ],
	  "total_sold": "",
	  "skus": [
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:1:【买20枝送10枝】随机色玫瑰20枝送10枝尤加利",
		  "properties_name": "1:1:规格:【买20枝送10枝】随机色玫瑰20枝送10枝尤加利",
		  "quantity": "99",
		  "sku_id": "100116243996",
		  "sku_url": "https://item.jd.com/100116243996.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:2:玫瑰混搭小花束",
		  "properties_name": "1:2:规格:玫瑰混搭小花束",
		  "quantity": "99",
		  "sku_id": "100127411315",
		  "sku_url": "https://item.jd.com/100127411315.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:3:玫瑰百合混搭小花束",
		  "properties_name": "1:3:规格:玫瑰百合混搭小花束",
		  "quantity": "99",
		  "sku_id": "100127411317",
		  "sku_url": "https://item.jd.com/100127411317.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:4:玫瑰向日葵混搭小花束",
		  "properties_name": "1:4:规格:玫瑰向日葵混搭小花束",
		  "quantity": "99",
		  "sku_id": "100155425904",
		  "sku_url": "https://item.jd.com/100155425904.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:5:多头泡泡单色随机10枝",
		  "properties_name": "1:5:规格:多头泡泡单色随机10枝",
		  "quantity": "99",
		  "sku_id": "100127411345",
		  "sku_url": "https://item.jd.com/100127411345.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:6:多头泡泡混搭随机10枝",
		  "properties_name": "1:6:规格:多头泡泡混搭随机10枝",
		  "quantity": "99",
		  "sku_id": "100155425892",
		  "sku_url": "https://item.jd.com/100155425892.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:7:多头橙芭比泡泡10枝",
		  "properties_name": "1:7:规格:多头橙芭比泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100153834042",
		  "sku_url": "https://item.jd.com/100153834042.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:8:多头折射泡泡10枝",
		  "properties_name": "1:8:规格:多头折射泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100153834026",
		  "sku_url": "https://item.jd.com/100153834026.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:9:多头黄泡泡10枝",
		  "properties_name": "1:9:规格:多头黄泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100153834018",
		  "sku_url": "https://item.jd.com/100153834018.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:10:多头红泡泡10枝",
		  "properties_name": "1:10:规格:多头红泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100126351047",
		  "sku_url": "https://item.jd.com/100126351047.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:11:多头爱丽丝泡泡10枝",
		  "properties_name": "1:11:规格:多头爱丽丝泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100126351037",
		  "sku_url": "https://item.jd.com/100126351037.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:12:多头果汁阳台泡泡10枝",
		  "properties_name": "1:12:规格:多头果汁阳台泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100126351035",
		  "sku_url": "https://item.jd.com/100126351035.html"
		},
		{
		  "price": "30.90",
		  "orginal_price": "49.00",
		  "properties": "1:13:多头巧克力泡泡10枝",
		  "properties_name": "1:13:规格:多头巧克力泡泡10枝",
		  "quantity": "99",
		  "sku_id": "100126351039",
		  "sku_url": "https://item.jd.com/100126351039.html"
		}
	  ],
	  "seller_id": "",
	  "sales": "",
	  "shop_id": 1000344190,
	  "_ddf": "fb",
	  "props_list": {
		"1:1": "规格:【买20枝送10枝】随机色玫瑰20枝送10枝尤加利",
		"1:2": "规格:玫瑰混搭小花束",
		"1:3": "规格:玫瑰百合混搭小花束",
		"1:4": "规格:玫瑰向日葵混搭小花束",
		"1:5": "规格:多头泡泡单色随机10枝",
		"1:6": "规格:多头泡泡混搭随机10枝",
		"1:7": "规格:多头橙芭比泡泡10枝",
		"1:8": "规格:多头折射泡泡10枝",
		"1:9": "规格:多头黄泡泡10枝",
		"1:10": "规格:多头红泡泡10枝",
		"1:11": "规格:多头爱丽丝泡泡10枝",
		"1:12": "规格:多头果汁阳台泡泡10枝",
		"1:13": "规格:多头巧克力泡泡10枝"
	  },
	  "seller_info": {
		"nick": "京东鲜花自营专区",
		"city": "",
		"level": "",
		"rate": "",
		"score": 0,
		"delivery_score": "",
		"item_score": "",
		"shop_type": "",
		"user_num_id": "",
		"sid": 1000344190,
		"title": "",
		"zhuy": "https://mall.jd.com/index-1000344190.html",
		"shop_name": ""
	  },
	  "props_img": [],
	  "shop_item": [],
	  "relate_items": []
	},
	"secache": "e4be299217ffd4296ed5d43e9f8a0554",
	"secache_time": 1733451980,
	"secache_date": "2024-12-06 10:26:20",
	"translate_status": "",
	"translate_time": 0,
	"language": {
	  "default_lang": "cn",
	  "current_lang": "cn"
	},
	"error": "",
	"reason": "",
	"error_code": "0000",
	"cache": 0,
	"api_info": "today:11 max:5000 all[23=11+5+7];expires:2025-12-18",
	"execution_time": "7.124",
	"server_time": "Beijing/2024-12-06 10:26:20",
	"client_ip": "106.6.37.210",
	"call_args": [
	  "100126351037"
	],
	"api_type": "jd",
	"translate_language": "zh-CN",
	"translate_engine": "baidu",
	"server_memory": "3.31MB",
	"request_id": "3.675260c5399d0",
	"last_id": "3798001718"
  }

3. 获取商品评论

3.1 接口说明

通过商品ID获取商品的用户评论,包括评论内容、评分、评论时间等。

3.2 请求参数

参数名类型是否必填说明
skuIdString商品ID
pageInt分页页码(默认1)
pageSizeInt每页条数(默认10)
access_tokenString授权令牌(需申请)

3.3 示例请求

GET https://api.jd.com/routerjson?method=jd.union.open.comment.query
&skuId=123456789
&page=1
&pageSize=10
&access_token=your_access_token

3.4 返回示例

{
    "code": 0,
    "message": "成功",
    "data": {
        "comments": [
            {
                "content": "商品质量很好,物流很快!",
                "score": 5,
                "creationTime": "2023-10-01 12:34:56"
            },
            {
                "content": "一般般,没有想象中的好。",
                "score": 3,
                "creationTime": "2023-10-02 14:20:10"
            }
        ],
        "totalCount": 100
    }
}

4. 使用京东API的步骤

4.1 注册开发者账号

  1. 访问开放平台
  2. 注册开发者账号并创建应用。
  3. 获取 app_keyapp_secret

4.2 获取授权

  1. 使用 app_keyapp_secret 获取 access_token
  2. 调用API时,将 access_token 作为参数传递。

4.3 调用API

根据需求调用商品详情或评论接口,解析返回的JSON数据。


5. 注意事项

  1. 权限申请:部分API需要申请权限才能使用。
  2. 频率限制:京东API有调用频率限制,需注意合理控制请求频率。
  3. 数据缓存:建议对商品详情和评论数据进行缓存,减少API调用次数。
  4. 错误处理:处理API返回的错误码(如 code 不为0时)。

通过以上步骤和示例,可以轻松获取京东商品的详情和评论数据,并将其集成到您的应用中。如果需要更详细的功能或数据,请参考京东开放平台的官方文档。