格式化 | 驗證 | 壓縮

> 格式化 | 驗證 | 壓縮 <

// 即時格式化、驗證和壓縮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 物件實字則寬鬆得多。

// 其他語言