将 JSON 值展平为键
Flatten JSON value as key
我尝试将 JSON 转换为以下形式:
{
"name" : "John",
"value" : [ "age" : "25"]
}
...进入:
{
"John": ["age" : "25"]
}
但是我找不到办法。有什么建议吗?
如果你想要年龄数组,那么使用
{
"name": "John",
"value": [
{
"age": "25"
}
]
}
否则使用(更符合逻辑)
{
"name": "John",
"value": {
"age": "25"
}
}
一个解决方案可能如下所示:
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
我尝试将 JSON 转换为以下形式:
{
"name" : "John",
"value" : [ "age" : "25"]
}
...进入:
{
"John": ["age" : "25"]
}
但是我找不到办法。有什么建议吗?
如果你想要年龄数组,那么使用
{
"name": "John",
"value": [
{
"age": "25"
}
]
}
否则使用(更符合逻辑)
{
"name": "John",
"value": {
"age": "25"
}
}
一个解决方案可能如下所示:
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