Golang では、動的なトップレベル キーを使用した JSON 文字列の解析は困難な場合があります。次の JSON について考えてみましょう:
{"bvu62fu6dq": { "name": "john", "age": 23, ..... .....}
「名前」と「年齢」の値を抽出するには、トップレベルのキーが固定フィールドではないため、カスタム ソリューションが必要です。
最適なアプローチは、内部オブジェクトを表す構造体と、動的トップレベル キーを表すマップを定義することです。構造体には、次のような必要な属性のフィールドが含まれている必要があります。
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 サイトの他の関連記事を参照してください。