」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > json中的逗號:為什麼go的綜合語法與JSON解析衝突?

json中的逗號:為什麼go的綜合語法與JSON解析衝突?

發佈於2025-03-23
瀏覽:632

在JSON解析中以GO   Trailing Commas in JSON: Why Does Go\'s Composite Literal Syntax Conflict with JSON Parsing? 
考慮以下代碼:

ObjectType` JSON:“對象”` } 鍵入ObjectType struct { 名稱字符串`json:“ name”` } func main(){ 字節:= []字節(`{“ objects”: [ {“ name”:“ foo”},//刪除逗號以使代碼工作! ]}`) jsontype:=&jsonObject {} json.unmarshal(bytes和jsontype) fmt.printf(“結果:%v \ n”,jsontype.objects [0] .name)// panic:運行時錯誤:索引範圍超出範圍 }

刪除尾隨逗號會解決運行時錯誤。 GO支持這種不一致的修復嗎?

解決方案

不幸的是,沒有解決方案。 JSON規範不允許掛逗號。雖然GO語法要求以復合文字為單位的逗號,但此要求不適用於JSON解析。

(換句話說 [ {“名稱”:“ foo”}, ]}

儘管有可能會有特定的JSON解析器忽略尾隨逗號,但應避免這種做法,因為使用其他有效的JSON解析器時可能會導致錯誤。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3