手動編輯 JSON

JSON 是一種非常嚴格的格式(請參閱 http://json.org) 。這使得為​​機器解析和編寫變得容易,但當不明顯的錯誤打破文件時,人們會感到驚訝。

常見問題

尾隨逗號

與大多數程式語言不同,你不能新增尾隨逗號:

{
  a: 1,
  b: 2,
  c: 3
}

3 之後新增逗號將產生一個 synax 錯誤。

陣列存在同樣的問題:

[ 
  1,
  2
]

如果你需要重新訂購商品,則必須格外小心。

缺少逗號

{
  a: 1,
  b: 2,
  c: 3
  d: 4
}

由於不允許使用尾隨逗號,因此在新增新值之前很容易忘記新增逗號(在本例中為 3 之後)。

評論

JSON 不允許註釋,因為它是資料交換格式。這仍然是一個熱門話題,除了不使用它們之外沒有明確的答案。

有幾種解決方法:

  • 使用 C 樣式註釋,然後在將它傳遞給解析器之前將其刪除
  • 將註釋嵌入資料中
{
  "//": "comment",
  "data": 1
}
  • 嵌入註釋並用資料覆蓋它們
{
  "data": "comment",
  "data": 1
}

第二個 data 條目將覆蓋大多數解析器中的註釋。

解決方案

為了更容易編寫 JSON,請使用 IDE 來檢查語法錯誤並提供語法著色。大多數編輯都可以使用外掛。

在開發應用程式和工具時,請在內部使用 JSON 並將其作為協議使用,但儘量不要在可能需要人工編寫的地方(除了除錯之外)將其公開。

評估更適合此用途的其他格式,例如:

  • Hjson 可以無縫轉換為 JSON
  • TOML ,類似於 INI 檔案
  • YAML ,更多功能,但代價是增加了複雜性