Go で部分的な JSON をマップにアンマーシャリングする
JSON データをマップに部分的にアンマーシャリングすることは、JSON が特定の形式で構造化されている場合に便利です。たとえば、キーが値のタイプを識別するキーと値の構造を使用します。このアプローチにより、データの効率的な処理とタイプ固有の処理が可能になります。
次の JSON の例を考えてみましょう:
{ "sendMsg":{"user":"ANisus","msg":"Trying to send a message"}, "say":"Hello" }
「encoding/json」パッケージを使用してこの JSON を解析するには、次のことができます。それを JSON「RawMessage」への文字列のマップにアンマーシャリングします。オブジェクト:
var objmap map[string]json.RawMessage err := json.Unmarshal(data, &objmap)
// Accessing the "sendMsg" value: var s sendMsg err = json.Unmarshal(objmap["sendMsg"], &s) // Accessing the "say" value: var str string err = json.Unmarshal(objmap["say"], &str)
特定のデータ型にアンマーシャルするには、sendMsg struct:
type sendMsg struct { User string Msg string }
の構造体フィールドをエクスポートする必要があります。このアプローチにより、JSON データの処理が柔軟になります。さまざまな構造を持ち、JSON オブジェクト内のキーに基づいてタイプセーフなアンマーシャリングが可能です。
以上がJSON を Go マップに部分的にアンマーシャリングする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。