JSON 格式化/驗證
貼上 JSON,檢查語法並整理縮排,或壓成單行後複製、下載。
內容只在瀏覽器處理,不會上傳或自動儲存。重新整理後會清空。
最多 100,000 個文字單位、64 層巢狀結構、5,000 個值。修改內容或縮排後,請重新處理。
如何整理 JSON?
- 貼上 JSON 內容,選擇 2 個空格、4 個空格或 Tab 縮排。
- 按「驗證並排版」檢查語法與整理格式;想移除多餘空白時,按「壓成單行」。字串內的空白不會被移除。
- 有語法錯誤時,依行列提示修正,再重新處理。成功後可複製結果或下載 JSON 檔。
保留哪些內容?
只調整字串外的排版空白。大整數、負零、指數寫法、字串跳脫形式、鍵名順序與重複鍵都會保留,不會因轉成數值而改變精度。
重複鍵雖會保留,不同程式讀取時可能只保留其中一個值。語法有效也不代表符合你的 API 或 JSON Schema 規格,請依實際用途確認內容。
支援標準 JSON,不接受註解、單引號、結尾多餘逗號、NaN 或 Infinity。除了物件與陣列,也接受字串、數值、布林值與 null。
輸入最多 100,000 個文字單位、64 層巢狀結構、5,000 個值;Emoji 可能占用多個單位。排版結果最多 2,000,000 個文字單位,超過時請減少縮排或壓成單行。錯誤欄位從 1 起算,Tab 與文字單位各算一欄。
內容不會上傳或自動儲存。修改內容或縮排後,舊結果會清除;下載檔只包含處理結果,不會覆寫原始檔案。
相關文字工具
JSON 排版、語法錯誤與資料保留怎麼核對
回到工具先整理格式,再看欄位層級
把 {"name":"Mina","active":true} 貼進「JSON 內容」,選 2 個空格後按「驗證並排版」。name 與 active 會分行顯示,方便檢查物件層級。按「壓成單行」可移除字串外的排版空白,字串裡的空格仍會保留。
縮排可選 2 個空格、4 個空格或 Tab,只改顯示方式。修改輸入或縮排後,舊結果會清除,請重新處理。除了物件與陣列,也能驗證字串、數值、true、false 和 null。
看行列提示,也檢查前一個符號
鍵名與字串要用雙引號。註解、單引號、結尾多餘逗號、NaN 與 Infinity 不屬於標準 JSON。以下例子可直接貼入本工具檢查,修正時仍要依原資料的意思選擇型別。
少了引號或逗號時,提示可能出現在下一個鍵名附近。從顯示的行與欄往前看,確認前一個值是否結束、引號是否成對。行列從 1 起算,Tab 算一欄,Emoji 可能占多欄,位置不一定等於畫面上第幾個圖案。
| 無效範例 | 問題 | 有效範例 |
|---|---|---|
| {name:"Mina"} | 鍵名沒有雙引號 | {"name":"Mina"} |
| {"active":True} | 布林值大小寫不符 | {"active":true} |
| {"count":1,} | 最後多了逗號 | {"count":1} |
| {"code":001} | 數字前面多了零 | {"code":"001"} |
- RFC 8259:JSON 語法第 2~7 節定義有效值、物件、數字與字串。代碼 001 改成字串的例子,仍需接收端允許字串型別。
語法有效,不代表接收端會接受
例如 {"active":"true"} 和 {"active":true} 都符合 JSON 語法,前者的值是文字,後者是布林值。如果服務要求布林值,排版成功也不能替文字值通過檢查。欄位名稱、所在層級、必填項目與日期格式,要再對照 API 或 JSON Schema 規格。
同一個物件若有兩個同名鍵,本工具會保留兩者與原順序,不替你挑值。接收程式可能取其中一個、報錯或保留全部。遇到重複鍵時應回查資料來源,不要把排版成功當作內容已修正。
長編號與跳脫字元會保留原樣
本工具保留數字原始寫法,不先轉成一般數值。下表的長整數、1e3 與負零都不會因排版被重新計算,字串的跳脫形式與鍵名順序也會保留。
這只保證本工具的輸出方式,不能保證下一個程式使用相同精度。訂單或會員編號若由規格定義為字串,來源就應加上引號。金額或數量若要求數值,則應確認範圍,不要替所有數字一律加引號。
| 輸入 | 輸出 | 保留內容 |
|---|---|---|
| 9007199254740993 | 9007199254740993 | 長整數的每一位 |
| 1e3 | 1e3 | 指數寫法 |
| -0 | -0 | 負零 |
| "a b" | "a b" | 字串中一個空格 |
- RFC 8259:數值精度與互通限制說明不同接收程式可有數值範圍與精度限制。保留原始數字文字是本站功能,並非所有 JSON 工具都會如此處理。
資料太長時,保留完整結構再分段
單次輸入最多 100,000 個文字單位、64 層巢狀結構與 5,000 個值,物件和陣列也各算一個值。排版結果上限是 2,000,000 個文字單位,Emoji 可能占多個單位。超過時,取完整物件或陣列分段,保留成對括號。局部通過不代表整份資料有效。
若只是排版結果太長,可減少縮排或改用單行。需要對照兩個版本時,先用相同縮排處理,再交給文字差異比對。它仍是逐行比較,不會替你判斷兩份 JSON 在語意上是否相同。
內容在瀏覽器處理,不會上傳或自動儲存。下載會另存結果,不覆寫原始檔。分享範例前,移除權杖、憑證和個資,並保留足以重現問題的欄位、型別與結構。
說明與來源核對: