如何在对象具有字符串键的Golang中解组JSON

如何在对象具有字符串键的Golang中解组JSON,json,go,unmarshalling,Json,Go,Unmarshalling,我有一些JSON看起来像这样: { “ABC”:{“符号”:“ABC”,“打开”:42}, “DEF”:{“symbol”:“abc”,“open”:42}, “GHI”:{“符号”:“abc”,“开放”:42} } 我不需要ABC/DEF/GHI部件,只需要右边的部件。ABC、DEF和GHI的值在我的代码中属于类型entity.Day,如下所示: type Day结构{ 符号字符串`json:“Symbol”sql:“Symbol”` Date-time.time`json:“Date”sq

我有一些JSON看起来像这样:

{
“ABC”:{“符号”:“ABC”,“打开”:42},
“DEF”:{“symbol”:“abc”,“open”:42},
“GHI”:{“符号”:“abc”,“开放”:42}
}
我不需要ABC/DEF/GHI部件,只需要右边的部件。ABC、DEF和GHI的值在我的代码中属于类型
entity.Day
,如下所示:

type Day结构{
符号字符串`json:“Symbol”sql:“Symbol”`
Date-time.time`json:“Date”sql:“Date”`
OpenP float64`json:“打开”sql:“打开”`
HighpFloat64`json:“高”sql:“高”`
LowP float64`json:“低”sql:“低”`
CloseP float64`json:“close”sql:“close”`
VolumeP float64`json:“卷”sql:“卷”`
标签字符串`json:“标签”sql:-“`
change加班浮动64`json:“change加班”sql:“随时间变化”`
UnadjustedVolume float64`json:“UnadjustedVolume”sql:“unadjusted_volume”`
Change float64`json:“Change”sql:“Change”`
ChangePercent float64`json:“ChangePercent”sql:“change\u percent”`
VWAP float64`json:“VWAP”sql:“VWAP”`
}
还有其他端点生成
entity.Day
s,但是这是唯一一个这样构造的端点。理想情况下,如何将JSON解组为
entity.Day
s数组

我的第一个想法是制作一个中间数据结构:

键入上一个结构{
tckrs映射[string]entity.Day
}
p:=previous{tckrs:make(map[string]entity.Day)}
json.Unmarshal(res和p)
该代码生成一个空结构,并且
json.Unmarshal
返回一个nil错误。你能帮我吗


PS-我搜索了很多地方,发现了类似的答案,还有很多人在尝试
map
方法,尽管这对我不起作用。

您定义的类型
previous
要求您的JSON用一个包含映射的顶级字段表示对象

由于JSON直接为映射建模,因此可以使用
map
对其进行解组

试试看:

p := make(map[string]Day)
json.Unmarshal(res, &p)

json.Unmarshal(res,&p.tckrs)
?哇,哇。。我希望这个问题也能帮助其他人;我想,如果他们像我一样错过了一些显而易见的事情,就会发生。谢谢你对我这么好!