这是我以前遇到的问题,我不确定如何干净地解决这个问题。
我的json_data看起来像这样:
{
"data": [{
"0": {
"first_name": "hello",
"last_name": "world"
},
"1": {
"first_name": "hello",
"last_name": "world"
}
}]
}
问题是,此列表中的项目数量不确定。钥匙总是不间断的,顺序很重要,这就是为什么它们在那里。
我如何将其表示为结构?在打字稿中,i mihght将其键入[key:str]:{...},但我不知道该怎么做。
分析解答
how would i represent this as a struct? in Typescript ...
对于那些学习在解释性语言(例如Typescript或Python)经验后,这是一个常见的绊脚石,这是一件好事,可以立即熨烫。
在其他语言中,用户定义的对象由包含哈希映射的相同基础类型表示,以动态关联属性和方法名称与基础值和函数。因此,可以随时将属性添加到对象中,因为它实际上只是一个动态集合。
在GO中,结构字段是静态的。这些字段是在编译时在源代码中定义的,应使用名称使用点运算符。字段名称是符号,而不是变量。
在Go中,您永远不会像动态定义的key/value对集一样对待结构。仅当有一个明确定义的键可以合理地将符号转换为代码中的符号时,结构才有意义。
您在JSON中的数据结构看起来有些愚蠢(如果键正在升级整数,那只是一个列表),但是假设这不取决于您,我建议您建模类似的东西。
type name struct {
First_name, Last_name string
}
type fulldata struct {
Data []map[string]name
}