我有以下结构,它按预期工作我正在获取数据并且我能够
type Service struct {
Resources []struct {
Model struct {
Name string `json:"name"`
Credentials struct {
path string `json:"path"`
Vts struct {
user string `json:"user"`
id string `json:"id"`
address string `json:"address"`
} `json:"vts"`
} `json:"credentials"`
} `json:"model"`
} `json:"resources"`
}
service:= Service{}
err := json.Unmarshal([]byte(data), &service
数据如下,
服务1
{
"resources": [
"model": {
"name": "cred",
"credentials": {
"path": "path in fs",
"vts": {
"user": "stephane",
"id": "123",
"address": "some address"
}
},
}
},
现在一些服务在 vts 下提供额外的数据,例如现在我们有 3 个字段(用户/ID/地址),但一些服务(服务 1)可以提供额外的数据,如电子邮件、secondName 等。但这里的大问题是我需要从参数中获取它,因为(服务 2)教育、薪水等
服务2
{
"resources": [
"model": {
"name": "cred",
"credentials": {
"path": "path in fs",
"vts": {
"user": "stephane",
"id": "123",
"address": "some address",
"email" : "some email",
"secondName" : "secondName"
}
},
}
},
服务 N
{
"resources": [
"model": {
"name": "cred",
"credentials": {
"path": "path in fs",
"vts": {
"user": "stephane",
"id": "123",
"address": "some address",
"salary" : "1000000"
}
},
}
},
当然,如果我事先知道我可以将它们全部放入结构中并使用的字段,omitempty 但我不知道,我只是将它作为函数的参数(新属性名称)获取,一些服务可以在此结构中提供 10 个以上的字段(我应该得到它们关于args[]函数的属性名称)但我事先不知道它们,这应该是动态的......在 Golang 中有没有很好的方法来处理它?
幕布斯6054654
相关分类