JSON 格式化工具

以智慧縮排與語法醒目提示,格式化、驗證並美化 JSON 資料

本機執行

JSON 輸入

格式化輸出

0 位元組

檢查器

貼上有效的 JSON —— 結構、樹狀圖與鍵路徑會自動顯示在這裡

進階選項

與另一份 JSON 比較

將這份 JSON 傳送到 Data Diff,再貼上第二個版本,即可查看有哪些變更。

可立即採取行動的驗證結果

每次按鍵輸入都會執行驗證。JSON 有效時,即時顯示物件、陣列、鍵值與深度的統計數字;無效時,錯誤會回報確切的行與欄、可能原因,並在編輯器中醒目標示出錯的位置——而不只是顯示「無效的 JSON」。

本工具能精確定位的常見 JSON 錯誤

以下四種錯誤是無效 JSON 的主因。每種錯誤都會回報位置與可能原因:

結尾多餘逗號

在結尾的 } 或 ] 之前多了一個逗號。錯誤會在下一行回報為「unexpected token」——原因訊息會指回該逗號。

引號遺漏或不成對

未正確結束的字串會吞掉文件其餘部分。解析器回報的非預期符號往往離真正的錯誤很遠;行/欄醒目標示會指出該從哪裡找起。

非預期的符號

使用單引號而非雙引號、加入註解,或鍵值未加引號。標準 JSON(RFC 8259)要求所有字串與鍵值都必須使用雙引號。

無效的跳脫序列

只有 \" \ \/ \b \f \n \r \t 與 \uXXXX 是有效的跳脫序列。單獨出現的反斜線會在無效序列的確切位置產生錯誤。

格式化前 / 格式化後

左側為壓縮的 API 回應,右側為同一份資料以 2 格空格縮排格式化後的結果。結構、樹狀檢視與路徑會根據解析後的文件更新。

Before
{"user":{"id":123,"name":"Chen","roles":["admin","editor"],"active":true}}
After
{
  "user": {
    "id": 123,
    "name": "Chen",
    "roles": [
      "admin",
      "editor"
    ],
    "active": true
  }
}

JSON 標準快速參考(RFC 8259)

  • 兩種結構:物件(無序的名稱/值配對,{})與陣列(有序的值,[])。
  • 值可以是雙引號括起的字串、數字、true、false、null、物件或陣列。
  • 數字不得有前導零;允許 1E10 與 0.5e-2 這類指數形式。
  • 字串不可包含實際的控制字元——必須以跳脫序列表示(\n、\t、\uXXXX)。
  • 不允許註解、不允許結尾多餘逗號、不允許單引號——正是這套嚴格文法讓 JSON 具備可攜性。

接下來如何處理這份資料

格式化只是第一步。無須離開瀏覽器即可繼續後續流程:

換算實例

例如金額顯示為 NT$1,234.50,JSON 數字應寫成 1234.50,並以 "currency": "TWD" 另記幣別。千位逗號和貨幣符號不屬於 JSON 數字語法。中文文字採 UTF-8;格式化不會自動換算匯率。

常見問題解答

關於 Json Formatter 格式化的常見問題解答

例如金額顯示為 NT$1,234.50,JSON 數字應寫成 1234.50,並以 "currency": "TWD" 另記幣別。千位逗號和貨幣符號不屬於 JSON 數字語法。中文文字採 UTF-8;格式化不會自動換算匯率。

交換資料時,請分清顯示樣式與實際儲存值。千位分隔符與貨幣符號不屬於 JSON 數字;中文內容請保留 UTF-8,並明確記錄單位、幣別與日期格式。

是的,我們的 JSON 格式化工具完全免費,無須註冊。所有處理都在您的瀏覽器中完成。

只要將 JSON 資料貼進編輯器並點擊「驗證」,工具就會立即檢查語法、回報錯誤及其行號,並顯示物件、陣列與屬性的數量。

JSON 最小化會移除所有不必要的空白字元以縮減檔案大小。在將 JSON 部署到正式環境之前使用它,可以節省頻寬並加快載入速度。

可以,本格式化工具採用最佳化的解析演算法,支援最大 10MB 的檔案。大型 API 回應、資料庫匯出檔與設定檔都能有效率地處理。

本格式化工具嚴格遵循 RFC 8259 JSON 規範。若 JSON 含有結尾逗號或註解,驗證時會將其回報為錯誤,因為它們不符合標準 JSON 格式。

像 \u00e9 這類跳脫字元會被解碼以供顯示,非 ASCII 文字則原樣保留,不會重新跳脫。對數字與字串混合的陣列排序時,採用穩定排序語意(鍵值相同的元素保持原有順序),與現代引擎依 ECMA-262 實作 Array.prototype.sort 的方式一致。

可以。在選項面板中啟用鍵值排序,即可在每一層巢狀結構中依字母順序重新排列物件屬性。排序能讓設定檔與 API fixture 在版本控制中更容易進行 diff 比對,因為不相關的新增項目不會再讓變更散落在檔案各處。

JSON 本身沒有整數大小限制,但 JavaScript 的 Number 型別只能儲存 53 位元的安全整數。超過 9,007,199,254,740,991(2^53 - 1)的數值或高精確度小數會被捨入。這是 ECMA-262 所記載的 JavaScript 引擎限制,而非格式化工具的錯誤——請在 API 設計中將這類數值視為字串處理。

{-- * External Resources Component(#19 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / 官方语言文档 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}

相關工具