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

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

Barbara Streisand
リリース: 2024-11-11 10:19:02
オリジナル
825 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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