沃尔玛商品详情 API 返回数据结构化:价格、库存与规格字段映射方案

一、数据结构核心框架

沃尔玛API返回的JSON数据采用三级嵌套结构,核心组成部分如下:

1. 状态标识层

json 复制代码
json
{
  "code": "0",          // 状态码(0=成功,其他=失败)
  "errorMessage": "success"  // 错误信息描述
}

2. 商品详情主体层

json 复制代码
json
"item_detail_response": {
  "items": [             // 商品列表数组
    {
      "sku_id": "1234567890",  // 商品唯一标识
      "title": "商品标题",     // 商品名称
      "price": "120.00",     // 当前售价
      "original_price": "150.00",  // 原价
      "stock_quantity": 100,  // 总库存量
      "props_list": {"color": "红色", "size": "L"},  // 基础规格属性
      "sku_list": [         // SKU级详细规格
        {
          "sku_id": "123",
          "name": "红色",
          "price": "120.00",
          "stock": 50        // SKU级库存
        }
      ]
    }
  ]
}

二、关键字段映射方案

1. 价格字段映射

字段路径 数据类型 说明 示例值
item_detail_response.items[0].price 字符串 当前销售价格 "120.00"
item_detail_response.items[0].original_price 字符串 商品原价(可选) "150.00"
item_detail_response.items[0].discount_price 字符串 折扣价格(可选) "100.00"
sku_list[0].price 字符串 SKU级销售价格 "120.00"

2. 库存字段映射

字段路径 数据类型 说明 示例值
item_detail_response.items[0].stock_quantity 整数 商品总库存量 100
sku_list[0].stock 整数 SKU级库存量 50

3. 规格字段映射

字段路径 数据类型 说明 示例值
item_detail_response.items[0].props_list 字典 基础规格属性(颜色/尺寸等) {"color": "红色"}
sku_list[0].name 字符串 SKU名称描述 "红色"
sku_list[0].sku_id 字符串 SKU唯一标识 "123"

三、结构化处理实现方案

Python代码示例

python 复制代码
python
import json

# 模拟API响应数据
response_data = {
  "code": "0",
  "item_detail_response": {
    "items": [{
      "sku_id": "1234567890",
      "title": "智能手表",
      "price": "199.99",
      "original_price": "299.99",
      "stock_quantity": 50,
      "props_list": {"color": "黑色", "size": "42mm"},
      "sku_list": [
        {"sku_id": "SKU001", "name": "黑色", "price": "199.99", "stock": 30},
        {"sku_id": "SKU002", "name": "银色", "price": "219.99", "stock": 20}
      ]
    }]
  }
}

def parse_walmart_response(data):
    # 状态检查
    if data["code"] != "0":
        raise ValueError(f"API请求失败: {data.get('errorMessage', '未知错误')}")
    
    # 提取商品信息
    item = data["item_detail_response"]["items"][0]
    sku_list = item.get("sku_list", [])
    
    # 结构化数据映射
    structured_data = {
        "商品ID": item["sku_id"],
        "商品名称": item["title"],
        "当前价格": float(item["price"]),
        "原价": float(item.get("original_price", 0)) if item.get("original_price") else None,
        "总库存": item["stock_quantity"],
        "基础规格": item.get("props_list", {}),
        "SKU详情": []
    }
    
    # 处理SKU级数据
    for sku in sku_list:
        structured_data["SKU详情"].append({
            "SKU ID": sku["sku_id"],
            "SKU名称": sku["name"],
            "SKU价格": float(sku["price"]),
            "SKU库存": sku["stock"]
        })
    
    return structured_data

# 执行解析
try:
    structured_result = parse_walmart_response(response_data)
    print(json.dumps(structured_result, indent=2, ensure_ascii=False))
except Exception as e:
    print(f"数据解析失败: {str(e)}")

输出示例

css 复制代码
json
{
  "商品ID": "1234567890",
  "商品名称": "智能手表",
  "当前价格": 199.99,
  "原价": 299.99,
  "总库存": 50,
  "基础规格": {
    "color": "黑色",
    "size": "42mm"
  },
  "SKU详情": [
    {
      "SKU ID": "SKU001",
      "SKU名称": "黑色",
      "SKU价格": 199.99,
      "SKU库存": 30
    },
    {
      "SKU ID": "SKU002",
      "SKU名称": "银色",
      "SKU价格": 219.99,
      "SKU库存": 20
    }
  ]
}

四、关键注意事项

  1. 字段稳定性:沃尔玛API字段可能随版本更新变化,建议定期验证字段路径

  2. 错误处理

    • 检查code状态码
    • 处理字段缺失情况(使用.get()方法)
    • 数值类型转换异常处理
  3. 扩展性设计

    • 支持多商品解析(遍历items数组)
    • 处理多级规格嵌套(如尺寸-颜色组合)
  4. 性能优化

    • 大数据量时分页处理
    • 缓存常用商品数据
    • 异步请求处理

通过本方案可实现沃尔玛商品详情数据的结构化提取,满足价格监控、库存管理、规格分析等业务需求。实际使用时需结合具体API文档验证字段路径,并添加必要的异常处理和日志监控。

相关推荐
百锦再2 天前
.NET Core与Windows硬件交互技术全景
windows·api
蜂蜜黄油呀土豆3 天前
深入理解 Java Stream:从创建到过滤、归约、分组与聚合(带大量实战代码)
java·实战·stream流·api
知行EDI8 天前
使用知行之桥®系统V2025+默认API接口
api·edi·知行之桥·知行edi
jason_yang8 天前
俄罗斯Yandex地图实战
vue.js·api
电商api24677428109 天前
通过接口获取携程酒店详情数据的技术实现
api
一枚前端小能手12 天前
🎬 使用 Web 动画 API - 关键帧与交互控制实战指南
前端·javascript·api
╰つ栺尖篴夢ゞ13 天前
HarmonyOS之深入解析如何实现语音朗读能力
华为·api·harmonyos next·语音朗读
用户2986985301413 天前
Java: 为PDF批量添加图片水印实用指南
java·后端·api