我是golang的新手,正在尝试解析来自web服务的一些响应,响应看起来像这样:
[
{
"Data": {
"KeyA": 1,
"KeyB": 2
},
"Type": 0
},
{
"Data": {
"KeyX": "ValueX",
"KeyY": 999
},
"Type": 1
},
{
"Data": {
"Val": 123,
"Id": "999",
"Cnt": 100
},
"Type": 2
}
]
您可以看到每个元素都有一个键“数据”和“类型”(必须),但不同的“类型”会带来不同的“数据”字段。
你能建议一种有效的方法来构建这种对Golang结构的响应吗?
谢谢你。
这应该对你有用
type Test []struct {
Data map[string]interface{} `json:"Data"`
Type int `json:"Type"`
}
由于唯一的可变键和值位于 Data 中,因此将其制作为映射,并根据收到的类型查找其中的键
我正在开发一个使用Go的网站,并将其连接到弹性搜索。在弹性搜索中,我可以为索引类型设置动态字段。当我从弹性搜索中读取文档时,它将返回一个JSON对象作为结果,该对象可以包括具有动态名称的字段(或用户定义的字段)。 我可以获取JSON结果并将其解组到Go结构中,但我不知道将这些动态字段作为Go结构的一部分的最佳方法是什么。 这就是我正在做的。例如,如果我从弹性搜索中获得一个联系人的文档,它可能看起来
问题内容: 我正在一个项目中使用JSON作为创建Java对象的配置框架。这也是我来自CF / PHP / JS等方面多年经验的第一个专业Java项目。 在将JSON转换为Java时,我能找到的所有资源都基于以下想法:您必须先在Java中手动构建对象,即POJO,然后使用JSON进行填充。 作为网络语言的资深人士,我对此想法感到窒息。我发现编译后的语言起着不同的作用,但是我认为从命令行到机器语言的共
问题内容: 我正在从syscall到Go中的某些WinApi获得结果。我可以轻松地从C代码映射简单的结构,但是如何处理如下的C结构? 如果在Go中定义了所有可能的类型 在将这个Go结构作为参数进行系统调用之后,我已经将它存储在内存中并且可以像往常一样在Go中访问它,但是(在上面的代码中)仅始终填充(在上面的代码中)之后的第一个字段,其他两个字段始终为空。我知道这是C语言中的预期行为,因为一次只能有
我从消防队拿到了我的文件。目前我在列表中有以下内容: 然后,在下面的方法中,我转换这个列表以放入一个具有所需格式的地图。
问题内容: 我在了解如何实现这一目标方面遇到了问题。 基本上我们有一个API,用户发送以下格式的JSON :(如果代码不完美,请原谅,但您可以理解) 好的,我不确定我是否正确设置了JSON格式,但是现在这是我的问题。 我有一个带有参数Name,Last的类,还有一个作为其成员之一的对象Client和Property Date。 像这样: 因此,基本上,我不确定如何获取JSON,然后将其映射到我的对