【问题标题】:Flatten JSON value as key [closed]将 JSON 值展平为键 [关闭]
【发布时间】:2021-05-24 03:43:43
【问题描述】:

我尝试转换一个 JSON 格式:

{
  "name" : "John",
  "value" : [ "age" : "25"]
}

...进入:

{
  "John": ["age" : "25"]
}

但我找不到办法。有什么建议吗?

【问题讨论】:

  • 这能回答你的问题吗? Go/Golang, Flatten a Nested JSON
  • 这不是代码编写服务。你试过什么?包括您的代码。你遇到了什么问题?

标签: json go flatten


【解决方案1】:

一个解决方案可能如下所示:

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

【讨论】:

  • 非常感谢,这就是我在我的问题中所想的。
【解决方案2】:

如果你想要年龄数组,那么使用

{
  "name": "John",
  "value": [
    {
      "age": "25"
    }
  ]
}

其他使用(更符合逻辑)

{
  "name": "John",
  "value": {
    "age": "25"
  }
}

【讨论】:

  • 我想将 { "name": "John", "value": { "age": "25" } } 转换为 { "John": { "age": "25" } }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 2011-11-12
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
相关资源
最近更新 更多