Go 中 json.Unmarshal 什麼時候回傳錯誤?
Go 中,json.Unmarshal 函數將 JSON 字串解析為結構體,但它並不總是回傳錯誤。但是,在某些情況下它確實會傳回錯誤。
當它不回傳錯誤時
當來源中的值不報告錯誤時,JSON 解碼器通常不會報告錯誤t 與目標中的那些匹配。例如,如果來源包含名為“status”的字段,但目標不包含,則不會引發錯誤。
錯誤案例
json。 Unmarshal 確實傳回以下場景中的錯誤:
錯誤案例範例
type A struct { Name string `json:"name"` } var jsonString string = `{ "status": "false" }'` var a A error := json.Unmarshal([]byte(jsonString), &a) fmt.Println(err) // prints cannot unmarshal bool into Go value of type string
在此範例中,拋出錯誤因為來源JSON 有一個boolean 類型的「status」字段,但目標結構體沒有對應的boolean 欄位。
以上是Go 中何時 `json.Unmarshal` 拋出錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!