使用未知结构解码 JSON
尝试修改未知结构的 JSON 字符串时会出现问题。目标是向现有 JSON 添加“count”键:
原始 JSON:
{ "votes": { "option_A": "3" } }
所需 JSON:
{ "votes": { "option_A": "3" }, "count": "1" }
挑战在于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中文网其他相关文章!