JSON 格式化工具使用方法
- 在上方輸入框貼上 JSON 字串。API 回應、設定檔、日誌(log)等都可以。
- 選擇縮排方式(2 格、4 格或 Tab),按下排版,就會產生整齊易讀的結果。
- 若有語法錯誤,會以紅字提示並標出出錯的行與欄,輸入框的游標也會自動移到該位置。
- 想減少傳輸量時,按壓縮即可移除所有空白與換行。結果可以直接複製,或儲存為 .json 檔案。
常見的 JSON 語法錯誤
JSON 和 JavaScript 的物件寫法很像,但規則更嚴格。如果「JSON 驗證」出現錯誤,建議先檢查下列幾點。
| 錯誤寫法 | 正確寫法 | 說明 |
|---|---|---|
{'name': 'chen'} | {"name": "chen"} | 字串與鍵名一定要用雙引號 |
{name: "chen"} | {"name": "chen"} | 鍵名也必須加引號 |
[1, 2, 3,] | [1, 2, 3] | 不可有結尾逗號(trailing comma) |
{"a": undefined} | {"a": null} | 不能使用 undefined、NaN、Infinity |
// 註解 | (刪除) | JSON 不支援註解 |
{"n": 012} | {"n": 12} | 數字前面不能補 0 |
標示的錯誤位置是「第一個違反規則的地方」。真正寫錯的地方可能在更前面(例如漏掉右括號的位置),所以也請一併檢查標示行的上一行。
JSON 排版(Beautify)與壓縮(Minify)各在什麼時候用?
排版是給人閱讀的格式。查看 API 回應、修改設定檔,或在 Code Review 中說明資料結構時都很實用。縮排依團隊慣例即可,JavaScript 社群多用 2 格,Python 社群多用 4 格。
壓縮是給電腦之間傳輸的格式。移除所有空白與換行來縮小檔案,適合網路傳輸、把資料寫成單行日誌,或將 JSON 放進環境變數。內容意義與排版後的版本完全相同。
開啟依鍵名排序後,物件的鍵會依英文字母等順序重新排列。比對(diff)兩份 JSON 時,可以避免因鍵的順序不同而產生多餘的差異。陣列內的順序本身具有意義,因此不會被更動。
JSON 資料型別一覽
- 物件
{ }-「鍵」: 值 配對的集合,鍵必須是字串。 - 陣列
[ ]-有順序的值清單,可混合不同型別。 - 字串-以雙引號包住,換行寫成
\n,雙引號寫成\"。中文可以直接寫,不必轉成\u編碼。 - 數字-可用整數、小數與科學記號(1e3)。加上引號就會變成字串。
- true / false / null-一律小寫。
想把 Excel 的表格資料轉成 JSON,可以搭配 CSV JSON 轉換工具;想取出 Token 裡包含的 JSON,則可使用 Base64 解碼工具。
使用小技巧
- 從瀏覽器開發者工具(F12)的 Network 分頁複製 API 回應,貼上後按排版,就能快速看清資料結構。
- 從聊天軟體或文件複製 JSON 時,引號可能被自動換成全形或彎引號(“ ”),會導致語法錯誤,請改回半形雙引號
"。 - 排版成功時,下方會顯示資料型別、鍵的數量、巢狀深度與資料大小,方便快速確認內容。
常見問題
輸入的 JSON 會被上傳到伺服器嗎?
不會。排版與驗證都在瀏覽器內完成,即使 JSON 中含有 API 金鑰或個人資料,也不會傳送到外部。
很大的 JSON 檔案也能排版嗎?
數 MB 左右可以正常處理。若達數十 MB 以上,瀏覽器可能會變慢,建議只擷取需要的部分來排版。
標示的錯誤位置和實際寫錯的地方不一樣?
JSON 驗證會標出第一個違反規則的位置。例如漏掉逗號時,錯誤會出現在下一個鍵開始的地方,請檢查標示位置的前面一點。
有註解的 JSON(JSONC)可以用嗎?
標準 JSON 不支援註解,因此會顯示為錯誤。請先刪除註解(// 或 /* */)後再排版。
排版後中文變成亂碼或 \u 編碼怎麼辦?
本工具會保留原本的文字,中文不會被轉成 \u 編碼。若原始資料本身就是 \u 編碼,排版後仍會維持原樣。
需要安裝軟體或註冊帳號嗎?
不需要。直接在瀏覽器開啟頁面就能免費使用,電腦和手機都可以。