掌握 JSON 語法與結構驗證
JSON(JavaScript Object Notation)是現代網絡 API 與數據交換的核心格式。一個標準的 JSON 必須嚴格遵守語法規範,例如物件的鍵必須用雙引號括住,且數據結構必須完整。
在處理複雜數據時,JSON 驗證是確保系統穩定運作的重要步驟。本工具提供即時的語法檢查,當輸入的數據含有錯誤時,會精確定位並顯示「第 {line} 行,第 {col} 欄」等位置資訊。常見的語法錯誤包括:
- 「項目之間缺少逗號」
- 「結尾括號前多了一個逗號」
- 「物件的鍵必須用雙引號括住」
- 「屬性名稱後缺少冒號」
- 「有一個字串缺少結尾引號」
- 「JSON 提早結束,看來被截斷了」
- 「應為值的位置出現了意外字元」
- 「此 JSON 嵌套太深,無法處理」
- 「鍵
{key}重複,請先刪去一個再格式化」
本工具在處理重複鍵時,會直接回傳錯誤,而不會默默合併或丟棄數據,從而保障數據的完整性。此外,本工具能完整保留大整數,避免在解析過程中產生精度損失。
格式化與壓縮技術
為了提高數據的可讀性,格式化工具會為 JSON 加上適當的換行與縮排。用戶可以自由選擇「縮排」層級,將雜亂無章的單行數據轉換為結構清晰的「程式碼」檢視模式。
相反,當數據需要用於傳輸或儲存時,則需要進行「壓縮」。壓縮程序會移除所有無意義的空白字元與換行,將數據體積縮減至最小,從而提升 API 的傳輸效率。
樹狀結構導航與數據提取
對於大型 JSON 文件,本工具提供「樹狀」檢視模式,將純文字轉換為可互動的「JSON 樹狀結構」。
- 節點操作:用戶可以使用「全部展開」與「全部收起」按鈕,或透過「展開
{key}」與「收起{key}」逐層探索。 - 精確搜尋:在「搜尋鍵與值」輸入框中輸入關鍵字,系統會即時顯示匹配進度,如「第
{current}項,共{total}項」或「第{current}項,共{total}+ 項」;若無匹配則顯示「沒有相符項目」。 - 路徑提取:在「
{key}的複製選項」選單中,用戶可以直接選擇「複製值」、「複製 JSON Pointer」或「複製 JSONPath」,方便在程式開發中精確定位數據節點。
非標準 JSON 格式的偵測與自動修復
在實際開發中,經常會遇到非標準的 JSON 變體。本工具具備智能偵測功能,能識別並提供相應的修復方案:
| 偵測到的格式 | 系統提示訊息 | 修復動作與效果 |
|---|---|---|
| Markdown 代碼圍欄 | 這看來是包在 Markdown 代碼圍欄內的 JSON。 | 套用後只保留圍欄內的 JSON。 |
| 轉義字串 | 這看來是被轉義成字串的 JSON。 | 套用後會把字串還原為普通 JSON。 |
| Python 字典 | 這看來是 Python 風格的字典,而非 JSON。 | 套用後會把引號及 True/False/None 改寫為 JSON。 |
| JSON Lines | 這看來是 JSON Lines——每行一個值。 | 套用後會把各行包成一個 JSON 陣列。 |
| JSONP 回調 | 這看來是被 JSONP 回調包裹的 JSON。 | 套用後會移除回調包裝。 |
| JSONC 格式 | 這看來是 JSONC——含註釋或末尾逗號。可將語法切換為 JSONC,或套用修復。 | 套用後會移除註釋及末尾逗號。 |
用戶可點擊「預覽修復」開啟「修復預覽」視窗,對比「原文」與「修復後」的差異,確認無誤後點擊「套用修復」即可。
大檔案處理與系統限制
本工具支援直接拖放或點擊「開啟檔案」載入 .json 或 .txt 檔案。為了確保瀏覽器運作流暢,系統設有以下限制與保護機制:
- 檔案限制:檔案必須為 UTF-8 編碼,且大小不得超過 10 MiB。若超出限制或讀取失敗,會顯示「檔案太大,上限為
{limit}。」、「此檔案並非 UTF-8 文字,無法在這裡開啟。」或「無法讀取此檔案。請重新選擇一次。」等提示。 - 處理閾值:當輸入數據超過 250,000 個字元時,將啟用異步處理。若輸入超過 10 MiB,則會提示「輸入超過
{limit},超出了此工具可處理的範圍。」。 - 超時保護:若語法解析時間過長,系統會中止操作並顯示「檢查此 JSON 花了太長時間,已被中止。請試用較小的文件。」。
- 樹狀渲染限制:若 JSON 結構過於龐大,樹狀視窗會顯示「此 JSON 太大,無法渲染為樹狀結構。」或「此 JSON 的值太多,無法渲染為樹狀結構。」。在展開大型節點時,則會限制顯示行數並提示「此 JSON 太大,無法完全展開,只顯示首
{count}行。」。
本機處理與隱私保護
你的 JSON 會在瀏覽器本機處理,不會上傳到 BroBroGo。所有格式化、壓縮、驗證與修復運算均在用戶的本機瀏覽器環境內即時完成。
常見問題
我的 JSON 會被上傳嗎?
不會。格式化邏輯在你的瀏覽器裡執行,不會上傳你的 JSON。
壓縮 JSON 是什麼意思?
壓縮會移除多餘空白和換行,但不會改變 JSON 數據本身。
為什麼我的檔案無法開啟?
本工具僅支援 UTF-8 編碼的 .json 及 .txt 檔案,且檔案大小不能超過 10 MiB。如果檔案格式不符、非 UTF-8 編碼或檔案損壞,系統將無法讀取。
鍵排序的規則是什麼?會影響陣列嗎?
點擊「鍵排序」會按碼位順序遞歸排序物件鍵,但陣列順序保持不變。排序後可按 Ctrl/Cmd+Z 撤銷操作。