Ich bin in der Lage, ein einfaches JSON-Objekt in eine Struktur zu analysieren, aber wenn ich ein Array innerhalb dieses Objekts zu analysieren versuche, erhalte ich eine index out of range
.Laufzeitfehler beim Analysieren eines JSON-Bytedatenstroms mit einem eingebetteten Array
package main
import (
"fmt"
"encoding/json"
)
type jsonobject struct {
Objects []ObjectType `json:"objects"`
}
type ObjectType struct {
Name string `json:"name"`
}
func main() {
// Simple element
bytes := []byte(`{ "name": "foo" }`)
var objecttype ObjectType
json.Unmarshal(bytes, &objecttype)
fmt.Printf("Results: %v\n", objecttype.Name) // Results: localhost
// Object with embedded array
bytes = []byte(`{ "objects": [ "name": "foo" ] }`)
jsontype := &jsonobject{}
json.Unmarshal(bytes, &jsontype)
fmt.Printf("Results: %v\n", jsontype.Objects[0].Name) // panic: runtime error: index out of range
}
Vielen Dank! Ich erkannte meinen Fehler, sobald ich die Klammern sah, die Sie um das Element innerhalb des Arrays hinzugefügt hatten. – Laurent