Code Fix

中級json.Unmarshalで非公開(小文字始まり)フィールドが無視される › パターン2

json.Unmarshalで非公開(小文字始まり)フィールドが無視される

encoding/jsonパッケージは、構造体の小文字始まりの非公開フィールドを読み書きできません。

 1  package main
 2  
 3  import (
 4  	"encoding/json"
 5  	"fmt"
 6  )
 7  
 8  type Account struct {
 9  	____ int
       ^
10  }
11  
12  func main() {
13  	var a Account
14  	json.Unmarshal([]byte(`{"age":30}`), &a)
15  	fmt.Printf("%+v\n", a)
16  }
出力: {age:0}JSONは{"age":30}

空欄を埋めて実行を通す

広告
広告スロット(未設定)

json.Unmarshalで非公開(小文字始まり)フィールドが無視される

JSONのキーに対応するフィールド名を小文字で書いてしまうと、値が入らないままゼロ値になります。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)