我有JSON文件,如下所示:
{
"env": {
"production": {
"test": {
"text": "hello"
},
"url": {
"str": "url1"
}
},
"staging": {
"test": {
"text": "hel1lo"
},
"url": {
"str": "url31"
}
}
}
}
有没有办法导入这个文件并进入嵌套的struct格式只是为了staging及其内部字段的顺序正确?
答案 0 :(得分:0)
虽然,我不熟悉Go及其JSON工具,JSON对象被指定为无序。如果您需要按特定顺序输入,则需要使用数组。
来自json.org:
对象是一组无序的名称/值对。对象以{(左括号)开头,以}结尾(右大括号)。每个名称后跟:(冒号),名称/值对用(逗号)分隔。
数组是有序的值集合。数组以[以[开头] (左支架)并以[]右括号结束)。值是分开的 by,(逗号)。
答案 1 :(得分:0)
使用此代码将暂存数据解析为Go值:
type env struct {
Test struct {
Text string
}
URL struct {
Str string
}
}
var v struct {
Env struct {
Staging env
}
}
err := json.Unmarshal(data, &v)
if err != nil {
// handle error
}
staging := v.Env.Staging
JSON对象字段是无序的。 Go标准库不提供按源顺序获取对象字段的方法。