> 格式化 | 驗證 | 壓縮 <
// 即時格式化、驗證和壓縮JSON資料
美化輸出
使用可自訂的縮排美化JSON。選擇2空格、4空格或定位字元。
壓縮輸出
刪除所有空白來壓縮JSON。減少生產環境和API的檔案大小。
語法檢查
即時驗證JSON語法。取得詳細的錯誤訊息。
// 關於JSON格式化
什麼是JSON:
JSON(JavaScript Object Notation)是RFC 8259定義的輕量級資料交換格式。人類易於讀寫,機器易於解析和產生。
範例:
{"name":"John","age":30} → {\n "name": "John",\n "age": 30\n}
常見用途:
- >API回應偵錯和檢查
- >設定檔格式化
- >處理前的資料驗證
- >透過壓縮減小大小
- >排序鍵值以獲得一致輸出
>> 常見問題
問:什麼是JSON格式化工具?
答:JSON格式化工具將原始或壓縮的JSON資料用適當的縮排和換行重新格式化,使其更易讀。
問:美化和壓縮有什麼區別?
答:美化添加縮排和換行使JSON可讀。壓縮刪除所有不必要的空白以減小檔案大小。
問:JSON驗證如何運作?
答:JSON驗證檢查輸入是否符合JSON規範(RFC 8259),包括括號、引號和資料類型。
問:排序鍵值有什麼用?
答:按字母順序排序重新排列JSON結構中的所有物件鍵,便於比較和保持一致性。
問:JSON與YAML相比如何?
答:JSON使用大括號和嚴格語法,YAML使用縮排。JSON在API中支援更廣泛。YAML更易讀但解析更複雜。
// 常見的 JSON 錯誤
這些寫法在 JavaScript 中可行,但在嚴格的 JSON 中無效。
| 無效 | 有效 |
|---|---|
| {'a': 1} | {"a": 1} |
| {"a": 1,} | {"a": 1} |
| {a: 1} | {"a": 1} |
| {"a": undefined} | {"a": null} |
| {"a": 01} | {"a": 1} |
// 在程式碼中格式化 JSON
JavaScript JSON.stringify(obj, null, 2) Python json.dumps(obj, indent=2, ensure_ascii=False) PHP json_encode($obj, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) Go json.MarshalIndent(v, "", " ") Java new ObjectMapper().writerWithDefaultPrettyPrinter() CLI jq . file.json CLI python3 -m json.tool file.json
>> 更多問題
問:應該用 2 個空格、4 個空格還是 Tab 縮排?
答:這取決於團隊慣例,保持一致最重要。2 個空格在前端領域常見,巢狀較深時更節省寬度;4 個空格在 Python 專案中常見;Tab 允許每個人自行調整顯示寬度。用於傳輸時,無縮排的壓縮 JSON 體積最小。
問:為什麼我的 JSON 無效?
答:最常見的原因是用單引號取代雙引號、鍵沒有加引號、最後一項後面多了逗號、含有註解、使用了 undefined、NaN,或數字帶有前導零。錯誤訊息通常會指出第一處出錯的行號與列號。
問:JSON5 和 JSONC 是什麼,與 JSON 有何關係?
答:JSON5 和 JSONC 是允許註解、尾隨逗號等寫法的擴充格式(如 tsconfig.json、VS Code 設定)。它們不是合法的 JSON:格式化工具要求嚴格的 JSON,請先刪除註解和尾隨逗號。