所以我试图分析JSON到一些结构和工程确定以下各项:地图结构从JSON在Golang
type train struct {
ID string `json:"id"`
Price float64 `json:"price,string"`
Distance float64 `json:"Distance,string"`
}
type Station struct {
ID int64 `json:"id,string"`
arrTrain []train`json:"arr"`
depTrain []train`json:"dep"`
}
但问题是,我想能够轻松要使用它们的ID引用arrTrain和depTrain中的项目,所以我认为我需要更改Station结构以arrTrain和depTrain作为以ID为关键字的映射。这是可能的时候解析的JSON或它必须'后处理'?
编辑: 作为一个评论说,不幸的是我的JSON是以下形式:
{
"id":1,
"arr": [
{"id":"one","price":"$10.1","Distance":"100km"},
{...}
],
"dep":[
{"id":"one","price":"$10.1","Distance":"100km"},
{...}
]
}
换句话说,ID是不是在JSON对象之外,arrTrain是列表。
我尝试了下面的一些答案,似乎在结构内形成的地图不被json.Marshal识别/丢失 - [playground](https://play.golang.org/p/5-yQvqi14Q ) – Conner
使这些字段可导出https://play.golang.org/p/x8TOcjcj7T – Treesrule14