不明な構造の JSON のデコード
この問題は、不明な構造の JSON 文字列を変更しようとするときに発生します。目的は、既存の JSON:
元の JSON:
{ "votes": { "option_A": "3" } }
目的の JSON:
{ "votes": { "option_A": "3" }, "count": "1" }
に「count」キーを追加することです。 JSON 構造が可変であるため、事前に決定された従来の JSON デコーダを使用するのは現実的ではありません。
解決策: マップにアンマーシャルする
この課題を克服するための実用的なアプローチは、JSON を文字列からインターフェイスへのマップにアンマーシャルすることです。
var raw map[string]interface{} json.Unmarshal(in, &raw)
これにより、キーと値に基づいて JSON データを操作できるようになります。この場合、新しい「count」キーを追加できます:
raw["count"] = 1
必要な JSON 文字列を生成するには、変更されたマップが JSON 文字列にリマーシャリングされます:
out, err := json.Marshal(raw)
Asその結果、不明な JSON 構造を変更し、必要に応じて「count」キーを追加できます。
以上が構造が不明な JSON 文字列に「count」キーを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。