最近在開發中,我們遇到了一個非常棘手的問題:false JSON。
{ "name": "小明", "age": 18, "isStudent": false, "grade": "一年級" }
從表面上看,這個 JSON 數據看起來是正確的。然而,當我們用 JavaScript 對其進行解析時,就會發現出現了意外的錯誤。
const data = JSON.parse('{"name": "小明", "age": 18, "isStudent": false, "grade": "一年級"}'); console.log(data.isStudent); // 輸出結果為 true
問題出在了false
這個值上。事實上,JavaScript 并不認為false
是一個有效的 JSON 值。因此,當我們嘗試解析這個 JSON 數據時,JavaScript 將false
轉換成了true
。
那么,如何解決這個問題呢?一個可行的方法是將false
用字符串方式表示。
{ "name": "小明", "age": 18, "isStudent": "false", "grade": "一年級" }
處理方式也很簡單:
const data = JSON.parse('{"name": "小明", "age": 18, "isStudent": "false", "grade": "一年級"}'); console.log(data.isStudent); // 輸出結果為 false
通過這種方式,我們就能夠順利地解析出這個 JSON 數據了。