ホームページ  >  記事  >  バックエンド開発  >  Go で JSON 配列を構造化データに解析するにはどうすればよいですか?

Go で JSON 配列を構造化データに解析するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-17 19:31:02493ブラウズ

How to Parse JSON Arrays into Structured Data in Go?

Go での JSON 配列の解析

定義された構造体での Unmarshal の使用

問題:

オブジェクトを含む複雑な JSON 配列を Go で構造化形式に解析する方法?

サンプル JSON:

[{"id":694476444991229955,"id_str":"694476444991229955"}]

解決策:

  1. JSON データをモデル化する Go 構造体を定義します。

    type Tweet struct {
     ID       int64  `json:"id"`
     IDStr    string `json:"id_str"`
    }
  2. 解析されたデータを保持するツイート構造体のスライスを作成します。

    tweets := make([]Tweet, 0)
  3. JSON 配列をツイート スライスにアンマーシャリングします。

    err := json.Unmarshal([]byte(jsonString), &tweets)
    if err != nil {
     fmt.Println(err)
    }
  4. ツイート スライスを反復処理して、解析されたファイルにアクセスしますdata.

    for _, tweet := range tweets {
     fmt.Println(tweet.ID, tweet.IDStr)
    }

Map[string] インターフェースへのアンマーシャリング{} スライス

注: このメソッドには次のものが必要ですインデックスを作成し、値にアクセスするためのアサーションを入力します。

  1. 解析結果を保持するマップのスライスを作成します。

    tweets := make([]map[string]interface{}, 0)
  2. JSON をアンマーシャリングします。配列をマップ スライスに読み込みます。

    err := json.Unmarshal([]byte(jsonString), &tweets)
    if err != nil {
     fmt.Println(err)
    }
  3. マップ スライスを反復処理して、解析されたデータにアクセスします。

    for _, tweet := range tweets {
     id, ok := tweet["id"].(int64)
     if ok {
         fmt.Println("ID:", id)
     }
    }

以上がGo で JSON 配列を構造化データに解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。