JSON 格式化工具

免費線上 JSON 格式化工具,美化、壓縮、驗證 JSON 資料。開發者必備工具,支援語法高亮、錯誤提示。完全在瀏覽器處理。

立即使用JSON 格式化工具(免費、免註冊)

把 JSON 貼進左邊,按「格式化」加上 2 或 4 格縮排、按「壓縮」擠成一行、按「驗證」只檢查語法;有錯會用中文說明原因並標出第幾行第幾字,日誌裡被跳脫過(反斜線加雙引號)的 JSON 會自動還原,也能勾選欄位依名稱排序,大整數 ID 原樣保留,整個過程都在瀏覽器裡完成。

什麼是 JSON

JSON(JavaScript Object Notation)是一種用純文字表示資料的格式:物件用大括號包住「"欄位": 值」,陣列用中括號,值可以是字串、數字、true/false、null 或另一層物件與陣列。它人看得懂、程式也好解析,所以網頁 API 的回應、設定檔、資料匯出常常用它。

JSON 的規則比 JavaScript 嚴格:欄位名稱和字串一定要用雙引號、最後一個項目後面不能有逗號、不能寫註解。這個工具以瀏覽器內建的解析結果判斷對錯,所以這幾種寫法都會被標成錯誤,而不是悄悄幫您修掉。

三個按鈕各做什麼

  • 格式化:每一層加上縮排(可選 2 或 4 格空白)並換行,方便閱讀 API 回應或找出設定檔哪一層放錯。
  • 壓縮:拿掉所有縮排與換行,變成一行,適合貼進程式碼或縮小傳輸量。
  • 驗證:只檢查語法、不產生輸出;格式化與壓縮也會先做同樣的檢查,有錯就不會輸出結果。

格式化和壓縮只改空白與換行:欄位順序照原本、數字保留原本的寫法(1.0 不會變成 1、1e5 不會展開),字串的值也不變。結果區會把欄位名稱、字串、數字與 true/false/null 標成不同顏色,右上角的按鈕可以一鍵複製。

被跳脫過的 JSON、轉成字串、欄位排序

  • 自動還原跳脫:從日誌、資料庫欄位或另一份 JSON 裡複製出來的內容,常長得像 {\"name\":\"Amy\"} 或整段被雙引號包住,直接格式化會失敗。工具發現這種情況會先去掉一層跳脫再格式化,並在下方說明它做了這件事。
  • 轉成跳脫字串:反過來:要把一段 JSON 放進程式碼或設定檔的字串欄位時,按「轉成跳脫字串」,會先壓成一行,再把雙引號與反斜線跳脫、外面包一層雙引號,可以直接貼上。
  • 欄位依名稱排序:勾選後,每一層物件的欄位都依名稱排序(大寫字母排在小寫前面),兩份欄位順序不同的 JSON 排序後比較好對照;重複的欄位兩個都保留、維持原本先後。要逐行比較差異可以再用「JSON 比較」。

常見錯誤與工具怎麼說

JSON 的語法比 JavaScript 物件嚴格,下面這些是最常見的錯。格式化、壓縮、驗證時遇到會停下來,用中文講原因並標出位置,不會悄悄幫您改掉。

常見錯誤對照
寫成這樣工具的說明正確寫法
{'name': 'Amy'}欄位名稱要用雙引號,不能用單引號{"name": "Amy"}
[1, 2, 3,]結尾多了逗號:JSON 陣列最後一個元素後面不能加逗號[1, 2, 3]
{"ok": True}「True」不是 JSON 的值:JSON 只接受小寫的 true、false、null{"ok": true}
{"v": undefined}JSON 沒有 undefined,請改成 null 或加上雙引號變成字串{"v": null}
{"n": 01}數字不能以 0 開頭(例如 01 要寫成 1){"n": 1}
// 註解JSON 不支援註解(// 或 /* */)把註解刪掉
{"a":1}{"b":2}JSON 已經結束,後面還有多餘的內容[{"a":1},{"b":2}]

Python 印出來的 dict(單引號、True、None)不是 JSON,用 json.dumps() 輸出才是;JavaScript 物件要用 JSON.stringify() 轉。

格式化時會特別提醒的兩件事

  • 超出精確範圍的數字:超過 2^53 的整數(常見於資料庫 ID、訂單編號)或大到超出範圍的數字,本工具原樣保留,但會列出來提醒:一般程式用 JSON.parse 讀取時,這些數字會被改成相近的值或變成 Infinity。
  • 重複的欄位名稱:同一個物件裡出現兩次同名欄位時,本工具兩個都保留並提醒您;一般程式讀取時只會留下最後一個,前面那個的值會不見。

JSON 格式化工具功能特點

  • JSON 格式美化(2 或 4 格縮排)
  • JSON 壓縮精簡
  • 語法驗證,錯誤用中文說明並標出第幾行第幾字
  • 結果語法高亮(欄位、字串、數字不同顏色)
  • 超過 2^53 的大整數、1.0 這類寫法原樣保留,不會被改掉
  • 一鍵複製結果
  • 完全本地處理

如何使用JSON 格式化工具?

  1. 貼上 JSON 資料
  2. 按「格式化」加上縮排,或按「壓縮」去掉空白;只想檢查就按「驗證」
  3. 查看結果,有錯會標出第幾行第幾字
  4. 複製處理後的 JSON

JSON 格式化工具常見問題

可以驗證 JSON 語法嗎?

可以。按「驗證」「格式化」或「壓縮」時會檢查語法,有錯會用中文說明原因(例如結尾多了逗號、字串用了單引號),並標出第幾行第幾字。

美化和壓縮有什麼差別?

美化(格式化)會添加縮排和換行,方便閱讀;壓縮會移除所有空白,減小檔案大小,適合傳輸。

JSON 格式化有什麼用?

格式化後的 JSON 具有適當的縮排和換行,大幅提升可讀性。這對於除錯 API 回應、檢查配置檔、或分享 JSON 資料給團隊成員都非常有幫助。

很長的數字 ID 格式化後會變嗎?

不會。JavaScript 的數字只能精確表示到 2^53(9007199254740992),很多工具用 JSON.parse 處理,9007199254740993 會被改成 9007199254740992。本工具保留原本的寫法,並提醒你哪些數字在一般程式裡讀取時會失真。

可以處理多大的 JSON?

程式沒有設定大小上限,能處理多大取決於您的裝置與瀏覽器。格式化結果超過 20 萬個字元時,結果區會改成不上色的純文字顯示,避免頁面變慢;內容本身一樣完整、可以複製。

日誌裡的 {\"a\":1} 要怎麼變回正常的 JSON?

直接貼進來按「格式化」。工具發現內容是被跳脫過的 JSON(反斜線加雙引號,或整段被雙引號包住),會先去掉一層跳脫再格式化,並在下方說明;如果跳脫了好幾層,再把結果貼回去按一次即可。

JSON 可以用單引號或加註解嗎?

不行。JSON 規定字串與欄位名稱都要用雙引號,也不支援 // 或 /* */ 註解;貼上這樣的內容,工具會標出位置並說明原因。

我貼上的 JSON 會上傳到伺服器嗎?

不會。解析、格式化、壓縮與驗證都由網頁程式在您的瀏覽器裡完成,內容不會送出;適合處理含有內部資料的 API 回應或設定檔。