掌握 JSON 語法結構與驗證的重要性
JSON(JavaScript Object Notation)是現代網路 API 傳輸與設定檔儲存的核心格式。一個標準的 JSON 必須嚴格遵循語法規範,例如物件的鍵必須用雙引號包住,且項目之間必須有逗號分隔。
在資料交換過程中,格式的微小錯誤都會導致解析失敗。本工具提供即時的驗證與格式化功能,當輸入資料時,系統會自動檢查語法。若偵測到錯誤,會精確指出「第 ‹line› 行,第 ‹col› 欄」並提供「前往錯誤位置」按鈕,幫助開發者快速定位問題。
格式化與壓縮的實務應用
為了便於人類閱讀,格式化工具會將緊湊的 JSON 加上適當的縮排與換行。使用者可以自由選擇「縮排」層級,將混亂的原始碼轉換為結構清晰的「程式碼」檢視畫面。
相反地,當資料準備進入生產環境進行傳輸或儲存時,則需要「壓縮」功能。壓縮會移除所有無意義的空白與換行,將檔案大小降到最低,以提升傳輸效率。
本工具在處理數值時具備極高的精確度,會完整保留大整數而不失真 [rules]。此外,若 JSON 中存在重複的鍵,工具不會默默合併或丟棄,而是會直接顯示「鍵 ‹key› 重複,請先移除一個再格式化」的錯誤提示,確保資料的完整性與正確性 [rules]。
樹狀結構檢視與高效導航
對於層級複雜的 JSON 文件,單純的文字檢視難以掌握全貌。本工具提供「樹狀」檢視模式,將資料轉換為可互動的「JSON 樹狀結構」。
在樹狀檢視中,使用者可以執行以下操作:
- 搜尋鍵與值:在搜尋欄輸入關鍵字,系統會即時顯示「第
‹current›筆,共‹total›筆」或「第‹current›筆,共‹total›+ 筆」的匹配結果,並可透過「上一筆相符」與「下一筆相符」按鈕快速切換。 - 節點展開與收合:提供「全部展開」與「全部收合」功能,亦可針對個別節點點選「展開
‹key›」或「收合‹key›」。 - 複製特定路徑:在「
‹key›的複製選項」選單中,支援「複製值」、「複製 JSON Pointer」以及「複製 JSONPath」,方便精確提取深層資料。
處理大型 JSON 檔案的限制與規則
本工具針對不同大小的 JSON 檔案設有對應的處理機制,以確保瀏覽器的運作效能:
- 輸入上限:本工具最大可接收 10 MiB 的檔案 [rules]。若超過此限制,會顯示「輸入超過
‹limit›,超出了本工具能處理的範圍。」。 - 同步處理閾值:當輸入字元數超過 250,000 字元時,將觸發非同步處理機制 [rules]。若運算時間過長,則會顯示「檢查這份 JSON 花費太久,已被中止。請改用較小的文件。」。
- 樹狀渲染限制:若 JSON 結構過於龐大,樹狀檢視會顯示「此 JSON 太大,無法渲染為樹狀結構。」或「這份 JSON 的值太多,無法渲染為樹狀結構。」。在展開大型樹狀節點時,系統會自動截斷並顯示「這份 JSON 太大,無法完全展開,只顯示前
‹count›列。」,使用者可點選「再顯示‹count›筆…」逐步載入。
非標準 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 會在瀏覽器本機處理,不會上傳到 BroBroGo [privacy]。所有的格式化、驗證、壓縮與修復運算皆在使用者端完成,確保資料不會傳輸至外部伺服器 [privacy, 不會。格式化邏輯在你的瀏覽器裡執行,不會上傳你的 JSON。]。
常見問題
我的 JSON 會被上傳嗎?
不會。格式化邏輯在你的瀏覽器裡執行,不會上傳你的 JSON。
壓縮 JSON 是什麼意思?
壓縮會移除多餘空白和換行,但不會改變 JSON 資料本身。
為什麼我的檔案無法開啟?
請檢查檔案格式與編碼。本工具僅支援 UTF-8 編碼的 .json 或 .txt 檔案。若檔案非 UTF-8 編碼,會顯示「這個檔案不是 UTF-8 文字,無法在這裡開啟。」。
鍵排序的規則是什麼?
點選「鍵排序」時,系統會依碼位順序遞迴排序物件鍵,但陣列順序維持不變。排序後可按 Ctrl/Cmd+Z 復原。