> 格式化 | 驗證 | 壓縮 <
// 即時格式化、驗證和壓縮JSON資料
[FORMAT]
美化輸出
使用可自訂的縮排美化JSON。選擇2空格、4空格或定位字元。
[MINIFY]
壓縮輸出
刪除所有空白來壓縮JSON。減少生產環境和API的檔案大小。
[VALIDATE]
語法檢查
即時驗證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
>> 更多問題
問:美化會改變我的資料嗎?
答:不會,只改變空白和縮排。除非你明確開啟鍵排序,否則鍵的順序和值都保持不變。
問:大數字會遺失精度嗎?
答:JavaScript 將數字以 64 位元浮點數讀取,因此超過 9,007,199,254,740,991(2^53−1)的整數可能遺失精度。如果你的 ID 這麼大,建議在資料中以字串形式儲存。
問:JSON 和 JavaScript 物件有什麼差別?
答:JSON 是嚴格的文字格式:鍵和字串必須使用雙引號,不能包含函式、undefined、註解或尾隨逗號。JavaScript 物件實字則寬鬆得多。