跳到主要內容

JSON 格式化與語法檢查|支援 JSON5 轉 JSON

以 2 空格縮排格式化 JSON,並報告語法錯誤所在的行和列。輸入按 JSON5 解析,因此可以使用註釋、單引號、不帶引號的鍵和末尾逗號;輸出始終是標準 JSON。

閱讀壓縮成一行的 API 響應。

支援 JSON 和 JSON5,可使用註解、單引號和末尾逗號;不會執行函式或 JavaScript 表示式。

JSON / JSON5 輸入

格式化後的 JSON

適用場景

  • 閱讀壓縮成一行的 API 響應。
  • 把帶註釋的 JSON5 或 tsconfig 風格檔案轉成標準 JSON,交給不接受註釋的工具。

使用方法

  1. 將 JSON 或 JSON5 貼上到左側編輯器,或載入 .json 檔案。
  2. 如果出現錯誤,前往報告的行和列,檢查引號、括號和逗號。
  3. 從右側編輯器複製縮排後的標準 JSON。

JSON 或 JSON5 輸入

// service config
{
  name: 'billing-api',
  port: 8080,
  retries: [1, 2, 4,],
  debug: false,
}

格式化後的 JSON

{
  "name": "billing-api",
  "port": 8080,
  "retries": [
    1,
    2,
    4
  ],
  "debug": false
}

功能與限制

格式化在瀏覽器中完成,不會向伺服器提交任何內容。

註釋和原有的引號風格會被丟棄。縮排固定為 2 個空格;本頁沒有壓縮或鍵排序選項。

值只作為資料解析,不會被執行。NaN 和 Infinity 無法用 JSON 表示,因此會被拒絕。

重複的鍵不會報錯:以最後一個值為準,因此 {"a":1,"a":2} 會變成 {"a": 2}。

FAQ

能格式化包含註釋的 JSON 嗎?

可以。由於輸入按 JSON5 讀取,// 和 /* */ 註釋都能被接受,但會從輸出中刪除,輸出為標準 JSON。

為什麼我的大整數變了?

數字會轉為 JavaScript 雙精度浮點數,超過 2^53 的整數會丟失精度:12345678901234567890 會輸出為 12345678901234567000。請把長 ID 寫成帶引號的字串。

會按 JSON Schema 校驗嗎?

不會。這裡只檢查語法,不檢查 schema 定義的必填欄位、型別和取值範圍。

規範與參考資料