ホームページ > バックエンド開発 > Golang > Go で動的トップレベルキーを使用して JSON を解析するにはどうすればよいですか?

Go で動的トップレベルキーを使用して JSON を解析するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-30 22:49:14
オリジナル
829 人が閲覧しました

How to Parse JSON with Dynamic Top-Level Keys in Go?

Golang での動的キーを使用した JSON 解析

Golang では、動的なトップレベル キーを使用した JSON 文字列の解析は困難な場合があります。次の JSON について考えてみましょう:

{"bvu62fu6dq": {
    "name": "john",
    "age": 23,
    .....
    .....}
ログイン後にコピー

「名前」と「年齢」の値を抽出するには、トップレベルのキーが固定フィールドではないため、カスタム ソリューションが必要です。

Go 構造体とマップの使用

最適なアプローチは、内部オブジェクトを表す構造体と、動的トップレベル キーを表すマップを定義することです。構造体には、次のような必要な属性のフィールドが含まれている必要があります。

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}
ログイン後にコピー

マップでは、動的なトップレベル キーをキーとして使用し、Person 構造体を値として使用できます。この構造により、目的の値に効率的にアクセスできます。

type Info map[string]Person
ログイン後にコピー

デコードと抽出

JSON をカスタム構造体にデコードするには、json.Unmarshal 関数を使用します。デコードされると、マップ キーを介して値にアクセスできます。

var info Info
json.Unmarshal([]byte(j), &info)
fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)
ログイン後にコピー

このアプローチにより、動的トップレベル キーを使用して JSON を処理する柔軟かつ拡張可能な方法が提供され、必要な属性に簡単にアクセスできます。

以上がGo で動的トップレベルキーを使用して JSON を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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