Der PHP-Editor Xinyi erklärt Ihnen, warum das Strukturfeld leer angezeigt wird. In der Programmierung ist eine Struktur ein benutzerdefinierter Datentyp, der zum Speichern verschiedener Datentypen verwendet wird. Wenn ein Strukturfeld leer erscheint, kann dies daran liegen, dass die Struktur nicht korrekt initialisiert wurde oder dem Feld kein Wert zugewiesen wurde. Darüber hinaus kann es auch an Problemen mit dem Feldumfang oder Fehlern bei der Strukturdefinition liegen. Um dieses Problem zu lösen, können Sie den Initialisierungsabschnitt des Codes überprüfen, um sicherzustellen, dass die Felder korrekt zugewiesen sind. Überprüfen Sie gleichzeitig die Definition und den Umfang der Struktur, um sicherzustellen, dass diese korrekt auf die Feldwerte zugreifen kann.
Ich versuche, die richtige Ausgabe aus dem folgenden Code zu erhalten:
package main import ( "encoding/json" "fmt" ) func main() { var jsonBlob3 = []byte(`[ {"name": "Platypus", "spec": "Monotremata", "id":25 }, {"name": "Quoll", "spec": "Dasyuromorphia", "id":25 } ]`) type Animal2 struct { name string spec string id uint32 } var animals []Animal2 err := json.Unmarshal(jsonBlob3, &animals) if err != nil { fmt.Println("error:", err) } fmt.Printf("%+v\n", animals) }
Spielplatz-Clip
Das Strukturfeld ist beim Drucken leer. Ich bin mir sicher, dass es irgendwo einen dummen Fehler gibt, aber ich bin noch ein Go-Neuling und hänge schon seit ein paar Stunden an diesem Problem fest. Bitte helfen Sie.
Dieses Problem ist schon oft aufgetreten. Das Problem besteht darin, dass nur exportierte Felder gemarshallt/entmarshallt werden können.
Strukturfelder exportieren, die mit einem Großbuchstaben beginnen.
type Animal2 struct { Name string Spec string Id uint32 }
Probieren Sie es auf Go Playground aus.
Beachten Sie, dass der JSON-Text Feldnamen in Kleinbuchstaben enthält, aber json
包“聪明”足以匹配它们。如果它们完全不同,您可以使用 struct 标签告诉 json
wie findet das Paket sie im JSON-Text (oder wie werden sie gemarshallt), zum Beispiel:
type Animal2 struct { Name string `json:"json_name"` Spec string `json:"specification"` Id uint32 `json:"some_custom_id"` }
Das obige ist der detaillierte Inhalt vonWarum erscheinen Strukturfelder leer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!