ホームページ > バックエンド開発 > Golang > マップの JSON 配列を Go 構造体に解析するにはどうすればよいですか?

マップの JSON 配列を Go 構造体に解析するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-14 00:10:09
オリジナル
861 人が閲覧しました

How Do I Parse JSON Arrays of Maps into Go Structs?

JSON 配列を Go データ構造に解析する

配列を含む JSON データを扱う場合、適切な Go データ構造を選択するのが難しい場合があります。解析します。たとえば、ファイルにキーと値のペアの配列が保持されている場合、map[string]string を利用しようとすると、「配列を main.data 型の Go 値にアンマーシャリングできません。」

のようなエラーが発生する可能性があります。解決策は、JSON 構造を正確に識別することにあります。提供された例は配列のように見えますが、実際にはマップの配列です。ファイルは、map[string]string 構造と一致するように次のようにする必要があります:

{
  "a":"1",
  "b":"2",
  "c":"3"
}
ログイン後にコピー

マップの配列を Go 構造体に解析する方法を示す次のコード スニペットを考えてみましょう:

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "log"
)

type mytype []map[string]string

func main() {
    var data mytype
    file, err := ioutil.ReadFile("test.json")
    if err != nil {
        log.Fatal(err)
    }
    err = json.Unmarshal(file, &data)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(data)
}
ログイン後にコピー

有効な JSON ファイルを使用してこのコードを実行すると、データが目的の構造に正常に解析され、ファイル内のキーと値のペアにアクセスできるようになります。配列。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート