将 JSON 值平展为键

我尝试转换以下形式的JSON:


{

  "name" : "John",

  "value" : [ "age" : "25"]

}

...到:


{

  "John": ["age" : "25"]

}

但我找不到办法做到这一点。有什么建议吗?


HUX布斯
浏览 148回答 2
2回答

烙印99

一个解决方案可能如下所示:parsed := map[string]interface{}{}_ = json.Unmarshal([]byte(unparsed), &parsed)data, _ := json.Marshal(map[string]interface{}{    parsed["name"].(string): parsed["value"],})请参阅此 Playground 以查看代码的工作原理:https://play.golang.org/p/1JFxBE6dFzp

至尊宝的传说

如果你想要年龄数组,那么使用{  "name": "John",  "value": [    {      "age": "25"    }  ]}else use(这更合乎逻辑){  "name": "John",  "value": {    "age": "25"  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go