京东商品API接口通常用于开发者获取京东平台上的商品信息、商品详情、商品评论等数据。这些接口可以帮助开发者构建比价工具、商品推荐系统、评论分析等功能。以下是关于如何获取商品详情和评论的解析。
1. 京东商品API接口概述
京东提供了开放平台(Open Platform),开发者可以通过申请API权限来获取商品数据。常用的API接口包括:
- 商品详情接口:获取商品的基本信息、价格、库存、描述等。
- 商品评论接口:获取商品的用户评论、评分、评论数量等。
2. 获取商品详情
2.1 接口说明
通过商品ID(SKU ID)获取商品的详细信息,包括标题、价格、图片、描述等。
2.2 请求参数
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
num_iid | String | 是 | 商品ID(支持多个,用逗号分隔) |
fields | String | 否 | 返回字段(如 name,price,image) |
access_token | String | 是 | 授权令牌(需申请) |
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 请求参数
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
skuId | String | 是 | 商品ID |
page | Int | 否 | 分页页码(默认1) |
pageSize | Int | 否 | 每页条数(默认10) |
access_token | String | 是 | 授权令牌(需申请) |
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 注册开发者账号
- 访问开放平台。
- 注册开发者账号并创建应用。
- 获取
app_key和app_secret。
4.2 获取授权
- 使用
app_key和app_secret获取access_token。 - 调用API时,将
access_token作为参数传递。
4.3 调用API
根据需求调用商品详情或评论接口,解析返回的JSON数据。
5. 注意事项
- 权限申请:部分API需要申请权限才能使用。
- 频率限制:京东API有调用频率限制,需注意合理控制请求频率。
- 数据缓存:建议对商品详情和评论数据进行缓存,减少API调用次数。
- 错误处理:处理API返回的错误码(如
code不为0时)。
通过以上步骤和示例,可以轻松获取京东商品的详情和评论数据,并将其集成到您的应用中。如果需要更详细的功能或数据,请参考京东开放平台的官方文档。