【发布时间】:2020-02-24 05:44:17
【问题描述】:
我一直在研究 Go API,我需要编码一些 JSON 来提供服务。
我的结构是这样的:
{
"20.0.12":{
"someData":"yes",
"someMoreData":"no",
"littleMore":"ok"
},
"20.0.13":{
"someData":"AH",
"someMoreData":"blue",
"littleMore":"red"
}
}
所以子数据有具体的标题。 someData、someMoreData 和 littleMore。这些头衔永远不会改变。但是,父母确实 - 20.0.12 和 20.0.13
我们可以在 Go 中使用如下结构创建 JSON:
type TestData struct{
SomeData string `json:"someData"`
SomeMoreData string `json:"someMoreData"`
LittleMore string `json:"littleMore"`
}
然后只需运行json.NewEncoder(someVar).Encode({some instance of TestData})
是否可以让这些键是动态的?例如,如果我不希望 someData 总是说 someData?例如,我正在使用的数据库将该键从 someData 更改为 someDataX。是否可以让我的 json 密钥反映这一点?下面的代码不会运行,但这是我想要实现的目标:
type TestData (arg string, arg2 string){
arg string `json:"`+arg+`"`
}
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。