定義された構造体での Unmarshal の使用
問題:
オブジェクトを含む複雑な JSON 配列を Go で構造化形式に解析する方法?
サンプル JSON:
[{"id":694476444991229955,"id_str":"694476444991229955"}]
解決策:
JSON データをモデル化する Go 構造体を定義します。
type Tweet struct { ID int64 `json:"id"` IDStr string `json:"id_str"` }
解析されたデータを保持するツイート構造体のスライスを作成します。
tweets := make([]Tweet, 0)
JSON 配列をツイート スライスにアンマーシャリングします。
err := json.Unmarshal([]byte(jsonString), &tweets) if err != nil { fmt.Println(err) }
ツイート スライスを反復処理して、解析されたファイルにアクセスしますdata.
for _, tweet := range tweets { fmt.Println(tweet.ID, tweet.IDStr) }
Map[string] インターフェースへのアンマーシャリング{} スライス
注: このメソッドには次のものが必要ですインデックスを作成し、値にアクセスするためのアサーションを入力します。
解析結果を保持するマップのスライスを作成します。
tweets := make([]map[string]interface{}, 0)
JSON をアンマーシャリングします。配列をマップ スライスに読み込みます。
err := json.Unmarshal([]byte(jsonString), &tweets) if err != nil { fmt.Println(err) }
マップ スライスを反復処理して、解析されたデータにアクセスします。
for _, tweet := range tweets { id, ok := tweet["id"].(int64) if ok { fmt.Println("ID:", id) } }
以上がGo で JSON 配列を構造化データに解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。