json処理
json処理について
ネットワーク関連で利用することになるjson処理。
使う場面が多いので
- json.Unmarshal
- json.Marshal
json.Unmarshal
json → struct
ネットワークから取得したjsonをstructの形式にデータを入れる。
- keyのフィールド名とstructの名前は一致していればOK
- 頭文字の大文字、小文字もどちらもOK
type Person struct {
Name string
Age int
}
func main() {
b := []byte(`{"name": "aiueo", "Age": 20, none: 'none'}`)
var p Person
if err := json.Unmarshal(b, &p); err != nil {
log.Fatal(err)
}
fmt.Println(p)
}
json.Marshal
struct → json
- どのような名前でエンコードするかのキーを指定できる
- バイトとなるのでデバッグ時に確認する際はstringに変換する
type Person struct {
Name string
Age int
}
