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 也越來越多地成為資料來源本身的替代提交格式。