如何第一時間看到新文章?
收藏本部落格列表頁,並在首頁與工具聚合頁留意指南入口。閱讀文章無需註冊或訂閱電子報。
從 Content-Type、欄位型別、必填項、空值、數字精度到 JSON Schema,建立可用於 API 聯調與上線前檢查的流程。
JSON.parse 成功只代表文字符合 JSON 語法,不代表它符合 API 契約。回應可以是完全有效的 JSON,卻缺少必填欄位、回傳錯誤型別、使用過期 enum,或把金額變成不安全的浮點數。
閱讀正文之前,先記錄狀態碼、Content-Type、字元集與請求 ID。JSON API 通常應回傳 application/json 或明確的相容媒體型別。204 回應不應被強行解析為 JSON;錯誤回應也應有穩定結構,而不是有時回傳 HTML。
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
X-Request-Id: req_123如果代理或 WAF 把登入頁包成 200,單純看解析錯誤會很誤導。先檢查標頭與正文前幾個字元,可以更快定位問題。
把回應放入 JSON 驗證器,確認括號、逗號、引號與跳脫字元正確。也要測試中文、Emoji、換行、反斜線與 Unicode 轉義樣例。服務端與客戶端應統一 UTF-8,避免把亂碼誤認為業務資料。
契約應明確根節點是物件、陣列或標量。分頁接口可以約定 {items, page, total},不應在沒有資料時突然變成空陣列。每個欄位都要區分缺失、明確 null、存在有效值三種狀態。
逐項確認:必填欄位缺失時如何報錯?可選欄位是否允許 null?空字串是否等同缺失?未知欄位是忽略、保存還是拒絕?舊客戶端如何處理新增欄位?
JSON 只有字串、數字、布林、null、物件與陣列。日期、UUID、金額和識別碼都需要額外規則。常見錯誤包括把數字回傳為字串、期望陣列卻回傳單一物件,或把 false 當成缺失。
超大識別碼通常應用字串避免 JavaScript 精度遺失:
{
"userId": "9007199254740993",
"enabled": false,
"createdAt": "2026-07-17T08:30:00Z"
}JSON Schema 可以把必填欄位、型別、長度、格式、枚舉與巢狀規則變成可執行規範。它應進入版本控制,並在服務端輸入驗證、契約測試與客戶端生成流程中重複使用。
API JSON 驗證應依序檢查 HTTP、語法、結構、型別、業務規則與相容性。解析成功只是第一關;真正的信心來自 Schema、失敗樣例、契約測試與一致的錯誤回應。
致力於為開發者提供最佳的 JSON 處理工具
更多文章即將發布...
返回部落格關於跟進更新、選題與互動方式。
收藏本部落格列表頁,並在首頁與工具聚合頁留意指南入口。閱讀文章無需註冊或訂閱電子報。
圍繞 JSON 驗證、格式化、轉換與除錯流程,以及 JSON Work 工具更新,與站內工具的本地能力互相呼應。
可以。請透過關於頁的聯絡方式或 GitHub 回饋;我們會優先安排貼近真實開發情境的教學。