Dans Golang, lors de l'utilisation d'objets JSON, plusieurs objets JSON doivent parfois être imbriqués. Cet article présentera brièvement comment implémenter l'imbrication d'objets JSON dans Golang.
JSON (JavaScript Object Notation) est un format d'échange de données léger couramment utilisé pour la transmission de données front-end et back-end. Dans Golang, JSON peut être codé et décodé à l'aide du package "encoding/json" intégré à la bibliothèque standard.
Ce qui suit est un exemple de données JSON simple, représentant les informations d'un livre :
{ "title": "The Hitchhiker's Guide to the Galaxy", "author": "Douglas Adams", "price": 5.99, "publisher": { "name": "Pan Books", "address": "London" } }
Dans l'exemple ci-dessus, l'objet "éditeur" est intégré dans l'ensemble d'objets "livre" traitement. Pour implémenter l'imbrication d'objets JSON dans Golang, vous devez définir une structure puis utiliser les méthodes fournies dans la bibliothèque standard pour encoder ou décoder les données JSON.
Par exemple, vous pouvez définir une structure nommée "Livre" pour représenter les informations du livre :
type Book struct { Title string `json:"title"` Author string `json:"author"` Price float64 `json:"price"` Publisher struct { Name string `json:"name"` Address string `json:"address"` } `json:"publisher"` }
Dans le code ci-dessus, la structure imbriquée "Éditeur" est utilisée pour indiquer le informations de publication du livre. Vous devez ajouter une balise "json" à chaque champ de la structure, afin que lors de l'encodage et du décodage des données JSON, le nom du champ puisse correspondre correctement au nom de la clé JSON.
Utilisez les méthodes Marshal et Unmarshal fournies par le package "encoding/json" pour convertir respectivement les structures Golang en données JSON et les données JSON en structures Golang. Par exemple, vous pouvez utiliser le code suivant pour convertir la structure « Livre » en données JSON :
book := Book{ Title: "The Hitchhiker's Guide to the Galaxy", Author: "Douglas Adams", Price: 5.99, Publisher: struct { Name string `json:"name"` Address string `json:"address"` }{ Name: "Pan Books", Address: "London", }, } jsonBytes, err := json.Marshal(book) if err != nil { fmt.Println(err) } fmt.Println(string(jsonBytes))
Le résultat de sortie du code ci-dessus est :
{ "title":"The Hitchhiker's Guide to the Galaxy", "author":"Douglas Adams", "price":5.99, "publisher":{ "name":"Pan Books", "address":"London" } }
À son tour, vous pouvez utiliser le code suivant pour convertir les données JSON dans la structure "Livre" :
jsonStr := `{ "title": "The Hitchhiker's Guide to the Galaxy", "author": "Douglas Adams", "price": 5.99, "publisher": { "name": "Pan Books", "address": "London" } }` var book Book if err := json.Unmarshal([]byte(jsonStr), &book); err != nil { fmt.Println(err) } fmt.Printf("%+v ", book)
Le résultat de sortie du code ci-dessus est :
{Title:The Hitchhiker's Guide to the Galaxy Author:Douglas Adams Price:5.99 Publisher:{Name:Pan Books Address:London}}
Résumé : #🎜🎜 #
Dans Golang, vous pouvez utiliser des structures pour implémenter le traitement imbriqué d'objets JSON. Vous devez utiliser la balise "json" dans la structure pour spécifier la correspondance entre les noms de champs et les noms de clés JSON. Utilisez les méthodes Marshal et Unmarshal fournies dans la bibliothèque standard pour convertir respectivement les structures Golang en données JSON et les données JSON en structures Golang.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!