JSON(JavaScript 对象表示法)是一种轻量级的、基于文本的数据格式,由嵌套的键值对和数组构成,旨在以一种既便于机器解析又便于人直接阅读的方式表示结构化数据。它起源于 JavaScript,但现在已与语言无关,并已成为大多数现代 Web API 的默认格式,在许多集成用例中取代了旧的、更冗长的替代方案。在信息流管理中,JSON 更多地作为信息流周围所有组件运行的格式,而不是最终购物信息流本身的格式。

为什么 JSON 对信息流集成至关重要

大多数直接提交到购物渠道的产品信息流仍然是 XML 或 CSV 格式,但构建和管理这些信息流的系统——产品信息管理系统 (PIM)、企业资源计划 (ERP)、信息流管理平台以及连接所有这些系统的 API——彼此之间绝大多数都使用 JSON 格式进行通信。当信息流管理工具从API获取实时库存、通过Webhook请求检查库存或与 PIM 交换数据时,这些数据几乎总是底层 JSON 格式,即使在提交给 Google 或 Meta 之前会被转换为 XML 格式。对于任何排查信息流集成故障的人来说,理解 JSON 格式都至关重要,因为系统之间的大部分底层通信(而非最终的信息流文件本身)实际上都使用 JSON 格式。

JSON 的工作原理

JSON 文档由少量基本元素构成:对象(用花括号括起来的键值对)、数组(用方括号括起来的有序列表)以及标量值(例如字符串、数字和布尔值)。JSON 格式本身没有强制执行的固定模式——JSON 解析器不需要预定义的文档类型,这也是它被广泛用于需要不断演进且不破坏旧客户端的 API 响应的原因之一。当数据源平台从数据API 或 Webhook 接收到 JSON 有效负载时,它通常会解析该结构,并将其字段映射到目标数据源格式(通常是 XML)实际要求的格式。

示例:XML Feed 项背后的 JSON 数据

<!--
  Source payload from the merchant's API, before conversion:
  {
    "sku": "SKU-51290",
    "title": "Recycled Denim Tote Bag",
    "price": { "amount": 38.00, "currency": "USD" },
    "availability": "in_stock"
  }
-->
<item>
  <g:id>SKU-51290</g:id>
  <title>Recycled Denim Tote Bag</title>
  <g:price>38.00 USD</g:price>
  <g:availability>in stock</g:availability>
</item>

注释部分显示的是同一产品的 JSON 格式,这是大多数信息流管理工具从 API 获取的格式,然后再将其扁平化为购物渠道所需的 XML 标签。

相关概念

JSON 是目前大多数自动化数据源所依赖的连接格式,无论是返回实时股票数据的 API,还是在源系统价格变动发生时立即推送价格变动的 Webhook。随着越来越多的平台在传统的 XML 和 CSV 支持之外增加基于 JSON 的上传选项,JSON 也越来越多地成为数据源本身的替代提交格式。