京东API接口概述及商品详情数据JSON解析

1 阅读3分钟

一、京东API接口概述

京东开放平台提供了一系列API接口,允许开发者获取商品信息、订单数据、用户评价等电商相关数据。主要接口类别包括:

1. 商品相关接口

  • 商品查询:获取商品基础信息、详情、SKU信息等
  • 商品搜索:按关键词、分类等条件搜索商品
  • 商品分类:获取京东商品分类体系

2. 订单相关接口

  • 订单查询、创建、修改等操作

3. 用户评价接口

  • 获取商品评价、评价分析等

4. 促销营销接口

  • 获取促销活动信息、优惠券等

二、商品详情数据JSON返回格式解析

以下是京东商品详情API返回的典型JSON数据结构解析: 在成长的路上,我们都是同行者。这篇关于详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦!

1. 基础商品信息

json
	{

	  "code": 200,

	  "message": "success",

	  "data": {

	    "goods_response": {

	      "sku_id": "100012345678",

	      "name": "华为Mate 50 Pro 5G手机",

	      "price": 5999.00,

	      "image_path": "https://img10.360buyimg.com/n1/s450x450_jfs/t1/123456/78/12345/123456/12345678/1234567890abcdef.jpg",

	      "stock_state": 1,

	      "is_pre_sale": false,

	      "is_appoint": false

	    }

	  }

	}

字段说明

  • sku_id: 商品唯一标识
  • name: 商品名称
  • price: 商品价格(单位:元)
  • image_path: 商品主图URL
  • stock_state: 库存状态(1-有货,0-无货)
  • is_pre_sale: 是否为预售商品
  • is_appoint: 是否为预约商品

2. 商品详细信息

json
	{

	  "code": 200,

	  "message": "success",

	  "data": {

	    "goods_detail_response": {

	      "sku_id": "100012345678",

	      "name": "华为Mate 50 Pro 5G手机",

	      "price": 5999.00,

	      "description": "<p>华为Mate 50 Pro 5G手机,采用6.74英寸OLED屏幕...</p>",

	      "after_service": "全国联保,享受三包服务",

	      "spec_info": {

	        "颜色": ["曜金黑", "冰霜银", "流光紫"],

	        "内存": ["8GB+128GB", "8GB+256GB", "12GB+512GB"]

	      },

	      "property_info": [

	        {"name": "品牌", "value": "华为"},

	        {"name": "型号", "value": "Mate 50 Pro"},

	        {"name": "操作系统", "value": "HarmonyOS 3.0"}

	      ],

	      "image_list": [

	        "https://img10.360buyimg.com/n1/s450x450_jfs/t1/123456/78/12345/123456/12345678/1234567890abcdef.jpg",

	        "https://img10.360buyimg.com/n1/s450x450_jfs/t1/123456/78/12345/123456/12345678/1234567890abcde1.jpg"

	      ]

	    }

	  }

	}

新增字段说明

  • description: 商品详细描述(可能包含HTML标签)
  • after_service: 售后服务政策
  • spec_info: 商品规格信息(颜色、尺寸等)
  • property_info: 商品属性列表
  • image_list: 商品图片列表

3. 商品SKU信息

json
	{

	  "code": 200,

	  "message": "success",

	  "data": {

	    "goods_skus_response": {

	      "sku_id": "100012345678",

	      "sku_list": [

	        {

	          "sku_id": "100012345678",

	          "name": "华为Mate 50 Pro 5G手机 曜金黑 8GB+128GB",

	          "price": 5999.00,

	          "image_path": "https://img10.360buyimg.com/n1/s450x450_jfs/t1/123456/78/12345/123456/12345678/1234567890abcdef.jpg",

	          "stock_state": 1,

	          "spec": {

	            "颜色": "曜金黑",

	            "内存": "8GB+128GB"

	          }

	        },

	        {

	          "sku_id": "100012345679",

	          "name": "华为Mate 50 Pro 5G手机 冰霜银 8GB+256GB",

	          "price": 6499.00,

	          "image_path": "https://img10.360buyimg.com/n1/s450x450_jfs/t1/123456/78/12345/123456/12345678/1234567890abcde2.jpg",

	          "stock_state": 0,

	          "spec": {

	            "颜色": "冰霜银",

	            "内存": "8GB+256GB"

	          }

	        }

	      ]

	    }

	  }

	}

SKU字段说明

  • sku_list: SKU列表

  • 每个SKU包含:

    • sku_id: SKU唯一标识
    • name: SKU完整名称
    • price: SKU价格
    • image_path: SKU图片
    • stock_state: 库存状态
    • spec: SKU规格属性

三、Python解析示例

python
	import json

	from pprint import pprint

	 

	# 假设这是从API获取的JSON数据

	response_data = """

	{

	  "code": 200,

	  "message": "success",

	  "data": {

	    "goods_detail_response": {

	      "sku_id": "100012345678",

	      "name": "华为Mate 50 Pro 5G手机",

	      "price": 5999.00,

	      "description": "<p>华为Mate 50 Pro 5G手机,采用6.74英寸OLED屏幕...</p>",

	      "after_service": "全国联保,享受三包服务",

	      "spec_info": {

	        "颜色": ["曜金黑", "冰霜银", "流光紫"],

	        "内存": ["8GB+128GB", "8GB+256GB", "12GB+512GB"]

	      }

	    }

	  }

	}

	"""

	 

	# 解析JSON数据

	data = json.loads(response_data)

	 

	# 提取商品基本信息

	goods_info = data['data']['goods_detail_response']

	print("商品基本信息:")

	pprint({

	    "商品名称": goods_info['name'],

	    "商品价格": goods_info['price'],

	    "商品ID": goods_info['sku_id']

	})

	 

	# 提取商品规格信息

	print("\n商品规格信息:")

	for spec_name, spec_values in goods_info['spec_info'].items():

	    print(f"{spec_name}: {', '.join(spec_values)}")