Go で JSON ファイルを JSON オブジェクトとして読み取る
Go で JSON ファイルを JSON オブジェクトとして読み取るには、その概念を理解することが重要ですポインタと型アサーションの数。
JSON ファイルの読み取り
plan, err := ioutil.ReadFile(filename) if err != nil { log.Fatal(err) }
データのアンマーシャリング
JSON を保存するにはオブジェクトを使用するには、Go ドキュメントで指定されているように、変数へのポインタが必要になります。
var data interface{} if err := json.Unmarshal(plan, &data); err != nil { log.Fatal(err) }
これは、data が指すメモリの場所に JSON オブジェクトを保存します。
JSON オブジェクトへのアクセス
データはインターフェイスであるため、その基になる値にアクセスするには型アサーションを使用する必要があります:
switch data := data.(type) { case map[string]interface{}: // Loop through the map as a JSON object for key, value := range data { fmt.Println(key, value) } case []interface{}: // Loop through the slice as a JSON array for _, value := range data { fmt.Println(value) } default: // Handle other types as needed }
デバッグのためのマーシャリング
デバッグ目的で JSON オブジェクトを文字列として表示する必要がある場合は、次を使用できます:
jsonString, err := json.Marshal(data) if err != nil { log.Fatal(err) } fmt.Println(string(jsonString))
注:
以上がGoでJSONファイルをJSONオブジェクトとして読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。