ホームページ >バックエンド開発 >Golang >JSON を Go マップに部分的にアンマーシャリングする方法は?

JSON を Go マップに部分的にアンマーシャリングする方法は?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-01 10:19:10743ブラウズ

How to Partially Unmarshal JSON into a Go Map?

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

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