当前位置: 首页
AI教程
京东商品详情API接口开发指南(Java/Python实现)

京东商品详情API接口开发指南(Java/Python实现)

热心网友 时间:2026-06-11
转载

京东商品详情API可通过SKUID获取商品标题、价格、促销等信息,支持批量查询(最多20个SKU)、JSON返回格式、签名验证与HTTPS加密。提供Java和Python实现示例,开发时需先申请权限,注意每秒100次调用限制及签名算法准确性。

京东商品详情API接口详解:功能、特点与开发实现指南

京东商品详情API接口开发指南(含Ja va/Python实现)

京东开放平台为开发者提供了实用的商品详情查询API接口。简单来说,只要传入SKUID,就能快速获取商品标题、价格、高清图片、促销活动等完整信息。在电商数据抓取需求旺盛、响应速度要求高的当下,这个京东商品详情接口能大幅提升开发效率。但需要特别留意的是,使用前必须先申请接口权限并获取认证密钥,这是绕不开的前提条件。

京东商品详情API接口核心特点

先来看看这个接口的几个关键优势。

批量查询是一大亮点:单次请求最多可查询20个SKU,数据处理效率瞬间拉满。根据市场反馈数据显示,使用批量查询功能后,数据采集时间可缩短约70%,特别适合需要进行大规模商品对比分析的业务场景。

数据格式方面,接口返回标准的JSON结构,主流编程语言几乎都能直接解析调用,开发门槛自然也就降低了。

安全性方面也考虑得相当周全:采用签名验证机制确保数据在传输过程中不被篡改或攻击,开发者和平台都能放心使用。再加上全面支持HTTPS加密协议,在当前网络安全环境下,相当于为数据传输加了一把安全锁。

Ja va语言实现京东商品详情API调用示例

先来看Ja va版本的实现方式。代码逻辑非常清晰,核心步骤包括构造请求参数、生成接口签名、发送HTTP请求。需要注意的是签名算法采用MD5加密,拼接参数时必须严格按照排序规则来,顺序不能出错。

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.codec.digest.DigestUtils;
import ja va.io.BufferedReader;
import ja va.io.InputStreamReader;
import ja va.net.HttpURLConnection;
import ja va.net.URL;
import ja va.util.HashMap;
import ja va.util.Map;
import ja va.util.TreeMap;

public class JdProductApi {
    private static final String API_URL = "https://api.jd.com/routerjson";
    private static final String VERSION = "1.0";

    public static String queryProductDetail(long skuId, String appKey, String appSecret) {
        try {
            // 精心构造请求参数
            Map params = new TreeMap<>();
            params.put("method", "jd.union.open.goods.detail.query");
            params.put("app_key", appKey);
            params.put("timestamp", System.currentTimeMillis());
            params.put("v", VERSION);
            params.put("format", "json");

            // 构建商品请求参数
            JSONObject goodsReq = new JSONObject();
            goodsReq.put("skuIds", new long[]{skuId});
            params.put("goodsReq", goodsReq);

            // 严格生成签名
            String sign = generateSign(params, appSecret);
            params.put("sign", sign);

            // 准确发送请求
            URL url = new URL(API_URL);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setDoOutput(true);
            conn.getOutputStream().write(JSON.toJSONString(params).getBytes());

            // 高效处理响应
            BufferedReader reader = new BufferedReader(
                new InputStreamReader(conn.getInputStream()));
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            return response.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    private static String generateSign(Map params, String appSecret) {
        StringBuilder sb = new StringBuilder(appSecret);
        for (Map.Entry entry : params.entrySet()) {
            sb.append(entry.getKey()).append(entry.getValue());
        }
        sb.append(appSecret);
        return DigestUtils.md5Hex(sb.toString()).toUpperCase();
    }
}

Python语言实现京东商品详情API调用示例

Python版本的实现更加简洁,借助requests库一行代码就能完成请求发送。签名生成逻辑与Ja va版本完全一致,只是语法换成了Python风格。

import hashlib
import time
import json
import requests

class JdProductApi:
    API_URL = "https://api.jd.com/routerjson"
    VERSION = "1.0"

    @staticmethod
    def query_product_detail(sku_id, app_key, app_secret):
        params = {
            "method": "jd.union.open.goods.detail.query",
            "app_key": app_key,
            "timestamp": int(time.time() * 1000),
            "v": JdProductApi.VERSION,
            "format": "json",
            "goodsReq": {"skuIds": [sku_id]}
        }

        # 严谨生成签名
        sign = JdProductApi.generate_sign(params, app_secret)
        params["sign"] = sign

        # 可靠发送请求
        response = requests.post(
            JdProductApi.API_URL,
            json=params,
            headers={"Content-Type": "application/json"}
        )
        return response.json()

    @staticmethod
    def generate_sign(params, app_secret):
        param_str = app_secret
        for key in sorted(params.keys()):
            param_str += f"{key}{params[key]}"
        param_str += app_secret
        return hashlib.md5(param_str.encode()).hexdigest().upper()

京东商品详情API接口返回数据示例

请求成功后,接口返回的数据结构如下(JSON格式展示):

{
    "code": 0,
    "message": "success",
    "data": {
        "skuId": 1234567,
        "skuName": "示例商品名称",
        "price": 299.00,
        "imageList": ["http://img1.jpg", "http://img2.jpg"],
        "brandName": "示例品牌",
        "category": "电子产品",
        "shopId": 10001,
        "shopName": "官方旗舰店",
        "promotionList": [
            {
                "promotionId": 1,
                "promotionName": "满299减30",
                "startTime": "2025-05-01 00:00:00",
                "endTime": "2025-05-31 23:59:59"
            }
        ]
    }
}

京东商品详情API开发注意事项与避坑指南

最后总结几个容易踩坑的关键点:

  • 权限申请先行:不要急着调接口,先去京东开放平台完成API权限申请,这是硬性前提。
  • 频率限制牢记:每个应用默认每秒最多调用100次,超出限制就会被限流。建议提前规划好调用节奏,避免程序运行中途中断。
  • 签名算法精准:官方文档怎么写就怎么实现,任何细微偏差都会导致签名验证失败。参数排序、拼接顺序、MD5大小写,每一个细节都要对得上。
  • 协议选择恰当:强烈建议使用HTTPS协议,虽然HTTP也能用,但数据传输没有加密,容易被中间人截获。
  • 异常处理全面:网络超时、参数错误、返回码非0等情况都要提前考虑,加上try-catch或容错逻辑,否则线上环境容易出大问题。

以上代码分别给出了Ja va和Python两种实现方案,大家可以根据自身技术栈选择合适的版本。实际集成时,记得将appKey和appSecret替换成自己的凭证,并补全完善的错误处理逻辑。这样基本就能稳定获取京东商品的详细数据了。

来源:https://developer.aliyun.com/article/1740699

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
MyShell发布开源AI语音克隆工具OpenVoice,瞄准语音模仿领域

MyShell发布开源AI语音克隆工具OpenVoice,瞄准语音模仿领域

MyShell最新推出的开源语音克隆工具OpenVoice引起了广泛关注。这一创新产品由麻省理工学院(MIT)、清华大学以及加拿大人工智能初创公司MyShell合作开发。OpenVoice采用了一种概念简单但高效的方法,可几乎即时克隆用户的语音,并使用明显更少的计算资源。该工具不仅具备语音克隆的基本

时间:2026-07-14 17:32
Open Voice:轻松克隆任何声音,免费开源的AI语音克隆项目

Open Voice:轻松克隆任何声音,免费开源的AI语音克隆项目

Open Voice是由MyShell推出的一个免费开源的AI即时语音克隆项目,相较于其他的语音克隆技术,OpenVoice的优势在于仅需一段简短的音频,便能以惊人的准确度复刻说话者的音色,创造出让人信以为真的自然语音。除开复制和参考说话者的音色之外,OpenVoice还可以对语音风格进行精细控制,

时间:2026-07-14 17:30
VoiceCanvas-AI语音克隆 & TTS工具 | 40+种语言语音合成

VoiceCanvas-AI语音克隆 & TTS工具 | 40+种语言语音合成

VoiceCanvas是什么?VoiceCanvas是由先进AI驱动的语音克隆与文本转语音工具,支持40+种语言的即时语音合成。其核心能力包括:高质量语音合成:具有自然语调和节奏的清晰人声个性化语音克隆:通过3-10秒语音样本创建专属AI声纹多语言支持:覆盖全球主流语种的男 女声选择进阶调控功能:语

时间:2026-07-14 17:30
Github爆火AI语音克隆项目OpenVoice,精准进行声音复刻

Github爆火AI语音克隆项目OpenVoice,精准进行声音复刻

最近,Github上的一个名为OpenVoice的AI语音克隆项目爆火,该项目由myshell-ai开源,仅开源了不到三周,就有了6 1k的star。OpenVoice仅需参考说话者的短音频片段,即可复制其声音并生成多种语言的语音。这一技术不仅实现了对音色的准确克隆,还在语音生成过程中提供了对情感、

时间:2026-07-14 17:27
Free Voice Cloning-免费AI语音克隆工具 | 5秒生成你的数字声音

Free Voice Cloning-免费AI语音克隆工具 | 5秒生成你的数字声音

Free Voice Cloning,一款真正0成本、无限制、跨语言的高质量AI语音克隆平台。适合内容创作者、教育者、AI开发者、播客人群等所有想要“复制自己的声音”并进行语音合成的用户。?️ Free Voice Cloning 是什么?Free Voice Cloning 是一个基于先进AI语音

时间:2026-07-14 17:27
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜