Go で json.Unmarshal がエラーを返すのはどのような場合ですか?
Go では、json.Unmarshal 関数が JSON 文字列を構造体に解析します。 , ただし、常にエラーが返されるわけではありません。ただし、特定の状況ではエラーが返されます。
エラーが返されない場合
JSON デコーダは通常、ソース内の値がエラーを返さない場合にはエラーを報告しません。ターゲット内のそれらと一致しません。たとえば、ソースに「status」という名前のフィールドが含まれているが、ターゲットには含まれていない場合、エラーは発生しません。
Error Cases
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 にはブール型の「ステータス」フィールドがありますが、ターゲット構造体には対応するブール型フィールドがないためです。
以上がGo で「json.Unmarshal」がエラーをスローするのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。