Maison > Article > développement back-end > Pourquoi les champs de structure apparaissent-ils vides ?
l'éditeur php Xinyi vous expliquera pourquoi le champ structure est affiché vide. En programmation, une structure est un type de données personnalisé utilisé pour stocker différents types de données. Lorsqu'un champ de structure apparaît vide, cela peut être dû au fait que la structure n'a pas été initialisée correctement ou qu'une valeur n'a pas été attribuée au champ. En outre, cela peut également être dû à des problèmes de portée de champ ou à des erreurs de définition de structure. Pour résoudre ce problème, vous pouvez vérifier la section d'initialisation du code pour vous assurer que les champs sont correctement attribués. En parallèle, vérifiez la définition et la portée de la structure pour vous assurer qu'elle peut accéder correctement aux valeurs des champs.
J'essaie d'obtenir le résultat correct à partir du code suivant :
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) }
Clip d'aire de jeux
Le champ structure est vide lors de l'impression. Je suis sûr qu'il y a un bug stupide quelque part, mais je suis encore nouveau sur Go et je suis bloqué sur ce problème depuis quelques heures. s'il vous plaît, aidez-moi.
Ce problème est apparu plusieurs fois. Le problème est que seuls les champs exportés peuvent être marshalés/non marshalés.
Exportez les champs de structure commençant par une lettre majuscule.
type Animal2 struct { Name string Spec string Id uint32 }
Essayez-le sur Go Playground.
Notez que le texte JSON contient des noms de champs en minuscules, mais json
包“聪明”足以匹配它们。如果它们完全不同,您可以使用 struct 标签告诉 json
comment le package les trouve-t-il (ou comment les rassembler) dans le texte JSON, par exemple :
type Animal2 struct { Name string `json:"json_name"` Spec string `json:"specification"` Id uint32 `json:"some_custom_id"` }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!