Golang では、JSON データをカスタム データ構造に解析するのは簡単です。 JSON ファイルに動的キーを持つオブジェクトの配列が含まれているシナリオを考えてみましょう:
[ {"a" : "1"}, {"b" : "2"}, {"c" : "3"} ]
この JSON を解析してマップ[文字列]文字列に変換しようとすると、エラーが発生する可能性があります:
import ( "encoding/json" "io/ioutil" "log" ) type data map[string]string func main() { c, _ := ioutil.ReadFile("test.json") dec := json.NewDecoder(bytes.NewReader(c)) var d data dec.Decode(&d) // error: cannot unmarshal array into Go value of type data }
この問題を解決し、JSON 配列を解析するために、カスタム タイプ mytype が次の配列として定義されます。マップ:
type mytype []map[string]string
データ構造をマップのスライスとして定義することで、JSON 配列をそれに応じて解析できます:
import ( "encoding/json" "fmt" "io/ioutil" "log" ) 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 配列の解析が可能になりますGo データ構造に変換します。
以上が動的キーを含む JSON 配列を Go データ構造に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。