既知および未知のキー/値ペアを使用して JSON 文字列を解析するにはどうすればよいですかGo 構造体に入れる?不明なフィールドには、任意の名前と値の型 (string、bool、float64、または int) を指定できます。
既知のフィールドを含む構造体と、不明なフィールドのマップのスライスを作成します。 :
type Message struct {
Known1 string `json:"known1"`
Known2 string `json:"known2"`
Unknowns []map[string]interface{}
}
JSON 文字列を次の構造体にアンマーシャルします:
json.Unmarshal([]byte(jsonMsg), &msg)
Unknowns フィールドにはリストが含まれます未知のキーと値のペアを表すマップ。
Double Unmarshal:
アンマーシャルと型変換:
3 つの解決策はすべて有効ですが、最もシンプルでエレガントなのは、最初の構造体ベースのアプローチです。これにより、追加のアンマーシャルや手動の型変換の必要がなくなります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3