Привет, пытаюсь расспарсить верхнеуровневый json массив который внутри себе содержит массив но получаю в итоге пустые структуры, помогите пожалуйста
[{
"code": {
- Может называться как угодно "Serv": [{
"field1": 0,
"field2": 1399,
"field3": "Z",
"field4": 464,
"field5": "O",
"field6": 0000000000,
"field7": "ASSFSW",
"field8": "Ser",
"field9": "",
"field10": "C",
"field11": {},
"field12": "",
"field13": 1,
"field14": "",
"field15": "Stop",
"field16": "A",
"field17": 0000000000
}],
- Может называться как угодно "Serv1": [{
"field1": 0,
"field2": 1400,
"field3": "",
"field4": 464,
"field5": "O",
"field6": 0000000000,
"field7": "ASSFSWxxx",
"field8": "Ser",
"field9": "",
"field10": "C",
"field11": {
"field11.1": {
"field11.2": "N"
}
},
"field12": "",
"field13": 1,
"field14": "",
"field15": "Stop2",
"field16": "A",
"field17": 000000121
}]
},
"Code.field1": "0000000000",
"Code.field2": "05AUTOSP"
}
]
Поля Serv и Serv1 могут называть по разному, мне и нужно достать их структуру из JSON
package main
import (
"bytes"
"encoding/json"
"fmt"
)
type Result struct {
Codes []Codes1
}
type Codes1 struct {
Codes []Codes
}
type Codes struct {
Filed1 string `json:"field1"`
Filed2 string `json:"field2"`
Filed3 string `json:"field3"`
}
const body = `[{
"code": {
"Serv": [{
"field1": 0,
"field2": 1399,
"field3": "Z",
"field4": 464,
"field5": "O",
"field6": 0000000000,
"field7": "ASSFSW",
"field8": "Ser",
"field9": "",
"field10": "C",
"field11": {},
"field12": "",
"field13": 1,
"field14": "",
"field15": "Stop",
"field16": "A",
"field17": 0000000000
}],
"Serv1": [{
"field1": 0,
"field2": 1400,
"field3": "",
"field4": 464,
"field5": "O",
"field6": 0000000000,
"field7": "ASSFSWxxx",
"field8": "Ser",
"field9": "",
"field10": "C",
"field11": {
"field11.1": {
"field11.2": "N"
}
},
"field12": "",
"field13": 1,
"field14": "",
"field15": "Stop2",
"field16": "A",
"field17": 000000121
}]
},
"Code.field1": "0000000000",
"Code.field2": "05AUTOSP"
}
]`
func main() {
resalt := make([]Result, 0)
decoder := json.NewDecoder(bytes.NewBufferString(body))
err := decoder.Decode(&resalt)
if err != nil {
panic(err)
}
fmt.Println(resalt[0])
}
Уже как только не делал, всегда получаю
[{[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]} {[]}]
Натолкните на мысль что не так? Мне нужно именно достать все JSON которые приходят в массиве code