ホームページ  >  記事  >  バックエンド開発  >  GoでJSONファイルをJSONオブジェクトとして読み取るにはどうすればよいですか?

GoでJSONファイルをJSONオブジェクトとして読み取るにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-11 10:19:02764ブラウズ

How to Read JSON Files as JSON Objects in Go?

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))

注:

  • JSON ファイルが正しくフォーマットされており、有効な JSON データが含まれていることを確認してください。
  • 可能であれば、空のインターフェイスではなく、特定のデータ構造を使用して JSON を設定します。

以上がGoでJSONファイルをJSONオブジェクトとして読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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