如何格式化 JSON 以便更快排錯
被壓成一行的 API 響應會拖慢排查。本文給出可複用流程:美化、校驗結構、解碼 JWT、用正則從日誌裡摳 JSON,全程在瀏覽器本地完成。
API 返回一整行 minified JSON 時,真正的 bug 往往藏在肉眼難辨的逗號與引號之間。Pretty-print 不是「好看而已」——它把傳輸格式變成可在幾秒內掃讀的結構,是後端與前端聯調的基本功。
從瀏覽器 Network、終端或日誌裡複製原始響應,粘貼到 Power Tools 的「JSON Formatter(JSON 格式化)」中。縮進可選 2 格(緊湊)或 4 格(便於 Code Review 貼圖)。格式化同時做語法校驗:缺引號、尾逗號等問題會直接標位置,不必逐行猜。
常見錯誤類型:一處引號缺失會引發連鎖報錯,先修第一條再重新格式化;數字被存成字符串("200" 與 200)語法合法但比較會失敗;PATCH 場景要分清字段是 null 還是根本不存在——縮進後一目瞭然。
結構清晰後,別從頭到尾硬讀。先找 envelope:data、result、items 等包裝層;確認期望的是數組還是對象;有分頁時先看 page、total、cursor 再進明細。
401/403 常與 JWT 有關。把 Bearer 後的 token(或解碼器要求的裸 JWT)貼進「JWT Decoder(JWT 解碼)」,優先看 exp:跨點過期會像「隨機」失敗;再核對 iss、aud 與自定義 claims(角色、租戶 ID),排查類型或服務間不一致。
勿將生產 token 貼到公開 Pastebin 或截圖外傳;本地瀏覽器解碼雖不上傳第三方,公用機仍須清空輸入。
字符串字段裡可能套 escaped JSON 或 base64:外層格式化後,把內層再貼進 Formatter 二次解析。不少接口把錯誤 JSON stringify 進 message,不拆層看不到真實校驗文案。
Webhook 等日誌常混有頭信息與 JSON,可先用「Regex Tester(正則測試)」提取 `{...}` 塊,再在 Formatter 里美化,避免手工刪時間戳前綴。對同樣格式的日誌固定一條 regex,批量處理更高效。
迴歸時需要與線上字節一致,可用 Formatter 的 minify 壓回單行,便於 curl/Postman 復現。工單裡可同時附縮進版(人讀)與 minify 版(復現)。
建議個人 checklist:① 格式化並修語法;② 對照 OpenAPI/TS 類型;③ 涉及鑑權則解碼 JWT;④ 日誌雜糅則用 regex 提取;⑤ 刪無關字段直到只剩最小失敗樣例。
團隊可約定縮進與 key 展示習慣,減少 PR diff 噪音;Review 時要求貼文本 JSON 而非截圖,便於搜索。
大數組別只盯 index 0:格式化後用業務 ID/email 搜索;超大粘貼可拆段或讓 API 提供分頁。
日誌裡可能出現密碼、refresh token 等敏感字段,對外分享前務必打碼——Formatter 不會自動脫敏。
JSON Formatter 管結構,JWT Decoder 管 token,Regex Tester 管從髒日誌裡摳 JSON——三件事串起來,500 opaque body 也能在幾分鐘內定位到字段級問題,而不是和空白符搏鬥一下午。