当前位置: 首页 > 知识库问答 >
问题:

Golang使用DYNAMIC key解析json[重复]

宗政招
2023-03-14

我有一个json字符串,如下所示:

j := `{"bvu62fu6dq": {
           "name": "john",
           "age": 23,
           "xyz": "weu33s"
           .....
           .....}
      }`

我想从上面的json字符串中提取< code>name和< code>age的值。我看了这个在http://play.golang.org/p/YQgzP7KPp9 golang网站给出的例子

但是我的问题是json顶层的键是动态的。这意味着< code>bvu62fu6dq是动态的。我创建了这样的结构:

 type Info struct {
   UniqueID map[string]string
 }

但不确定如何提取<代码>姓名 和<代码>年龄 。我的代码在http://play.golang.org/p/Vbdkd3XIKc

共有1个答案

罗诚
2023-03-14

我相信你想要这样的东西:

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

type Info map[string]Person

然后,在解码后:

fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)

完整示例:http://play.golang.org/p/FyH-cDp3Na

 类似资料:
  • 我正在尝试用动态字段键将json解组到json从storcli utility for linux返回的结构。一部分代码运行良好,但是如果json数据包含许多结构,我就不能解组它。我认为这是因为DriveDetailedInformation结构没有所有的json标签。有人能帮我吗?

  • 问题内容: 我试图从下面的curl输出中获取说“ ip”的值: 我在互联网上发现了许多示例来解析curl请求的json输出,并且编写了以下代码,但这似乎并没有给我说“ ip”的值 如果有人可以向我提示我需要添加到代码中以获得“ ip”值的提示,我将不胜感激。 问题答案: 您可以创建结构来模仿json结构,然后对json进行解码。 输出为: 通过将其解码为一个结构,您可以循环遍历任何切片,而不会局限

  • 问题内容: 我有一个json字符串,如下所示: 我想从上面的json字符串中提取and 的值。我看了在golang网站http://play.golang.org/p/YQgzP7KPp9上给出的示例 但是我的问题是json在顶层的关键是动态的。这意味着是动态的。我创建了这样的结构: 但不确定如何提取和提取。我的代码在http://play.golang.org/p/Vbdkd3XIKc 问题答案

  • 问题内容: 在python中,您可以获取json对象并从中获取特定项目,而无需声明结构,将其保存到结构中,然后像Go中那样获取值。有没有一种包装或更简单的方法来存储Go中来自json的特定值? 蟒蛇 走 问题答案: 您可以解码为,然后按键获取元素。 通常首选结构,因为它们对类型更明确。您只需要在所需的JSON中声明字段,而无需像使用映射(隐式编码/ json处理)那样键入assert值。

  • 本文向大家介绍golang json性能分析详解,包括了golang json性能分析详解的使用技巧和注意事项,需要的朋友参考一下 前言 众所周知Json 作为一种重要的数据格式,具有良好的可读性以及自描述性,广泛地应用在各种数据传输场景中。Go 语言里面原生支持了这种数据格式的序列化以及反序列化,内部使用反射机制实现,性能有点差,在高度依赖 json 解析的应用里,往往会成为性能瓶颈,好在已有很

  • 我能够使用类解析嵌套json字符串。这里的问题是,解析嵌套json变得越来越困难,因为我不得不编写大量样板代码来实现将json解析为java对象的最终结果。在spring中,除了这种方法之外,还有什么更好的解析方法吗? 域类: 组件类 属性类: 控制器类: json文件: 如前所述,解析可以使用实例完成,但要使用大量样板代码和硬编码json元素名。有没有更好的办法?我使用库解析json文件。 我参