吃得下注釋
單行 // 與多行 /* */ 都會被丟掉,只保留資料。重要說明請另存在 README,不要指望註釋能進標準 JSON。
適合「給人看的配置」轉成「給程式讀的 JSON」這一步。
也可透過 #data={"name":"Ada"} 或 #url=... 灌入資料,讀完即從位址列清除。
JSON5 是寫配置時更寬鬆的超集:允許註釋、尾逗號、單引號和無引號鍵名。本頁把它解析後輸出標準 JSON,方便再交給介面或其它工具。從 VS Code、webpack 配置或手寫 JS 物件裡拷出來的內容,往往不能直接 JSON.parse ,可以先過這一頁。
單行 // 與多行 /* */ 都會被丟掉,只保留資料。重要說明請另存在 README,不要指望註釋能進標準 JSON。
適合「給人看的配置」轉成「給程式讀的 JSON」這一步。
物件和陣列最後一項後面的逗號不再導致解析失敗。這也是從 JS / TS 物件字面量複製時最常見的報錯原因。
轉換後輸出不會保留尾逗號,符合 RFC 8259。
結果可被 JSON.parse 和大多數後端直接使用。鍵名會補上雙引號,單引號字串會改成雙引號。
轉完可繼續格式化、校驗或生成 Schema。
{
// 功能开关
name: 'json5',
enabled: true,
tags: ['a', 'b',],
}
{
"name": "json5",
"enabled": true,
"tags": [
"a",
"b"
]
}
不會。標準 JSON 沒有註釋,轉換後註釋會被丟棄。
JSONC 通常只加註釋;JSON5 還放寬了鍵名、引號和數字寫法。本頁按 JSON5 規則解析。
JSON5 允許這類數字寫法。轉成標準 JSON 後,下游是否接受取決於具體解析器,請抽查。
不能。只解析資料字面量,不會執行函式或計算表示式。
JSON.parse 的標準 JSON。 JSON5 適合「人寫、機器讀之前先規範化」。對外 API 仍應只接受標準 JSON,避免客戶端各寫各的超集。