У меня есть случай, когда мне нужно проанализировать длинный json в нескольких структурах. Примером является:
type AutoGenerated struct {
Instance []Instance `json:"instance"`
}
type Test1 struct {
Envid string `json:"envid"`
Narid string `json:"narid"`
Pod []Pod `json:"pod"`
Regions string `json:"regions"`
Type string `json:"type"`
}
type JavaTest struct {
JavaOutput string `json:"java output"`
JvmVersion string `json:"jvm_version"`
}
type Container struct {
Java []Java `json:"java"`
Name string `json:"name"`
}
type Pod struct {
Container []Container `json:"container"`
Name string `json:"name"`
}
type Instance struct {
Test1 Test1 `json:"test1,omitempty"`
Test2 Test2 `json:"test2,omitempty"`
}
Хотя Unmarshalling JSON, я не совсем уверен, как это должно быть сделано. Если я сделаю: var test AutoGenerated
и использую это для демаршалирования, я пропущу поля из JavaTest
struct наподобие JvmVersion
. Есть ли способ получить значения заполнения в разных структурах из одного JSON? Обратите внимание, что у меня много разных структур, подобных этой.
Пример json фрагмент:
{
"instance": [
{
"test1": {
"envid": "test1",
"narid": "",
"pod": [
{
"container": [
{
"java": [
{
"java output": "asdsadasdasdasd",
"jvm_version": "1.8.0_152",
"path": "/abc/aa/11/80/aaaaaa/bbb/aaa",
"publisher": "Java asdsad"
}
],
"name": "test"
}
],
"name": "test-2-6n8xc"
}
],
"regions": "abc",
"type": "xyz"
}
}
]
}