Maison >développement back-end >Golang >Comment convertir des données en json dans Golang
1. Qu'est-ce que JSON ?
JSON signifie JavaScript Object Notation. Il s'agit d'un format d'échange de données léger. Sa plus grande caractéristique est sa grande lisibilité. Les données au format JSON sont faciles à lire et à analyser, et conviennent également très bien à l'échange de données avec les serveurs et les clients.
2. JSON en golang
Golang (également connu sous le nom de langage Go) est un nouveau langage de programmation qui prend en charge le format JSON par défaut. Cela signifie que l'échange de données à l'aide de JSON devient très simple.
Le package JSON de Golang fournit deux méthodes, marshal et unmarshal, qui peuvent convertir une structure ou une carte en un objet JSON, ou convertir un objet JSON en une structure ou une carte.
3. Utilisez JSON pour l'échange de données dans Golang
3.1 Convertissez la structure en un objet JSON
Dans Golang, vous pouvez définir une structure pour stocker les données. Par exemple, une structure peut être définie comme suit :
type person struct { Name string `json:”name”` Age int `json:”age”` Address string `json:”address”` }
Si vous souhaitez convertir une instance de personne en objet JSON, vous pouvez utiliser la fonction marshal fournie par le package JSON :
p := person{Name: "John", Age: 25, Address: "123 Main Street"} b, err := json.Marshal(p) if err != nil { panic(err) } fmt.Println(string(b))
Dans le code ci-dessus, nous définissons un instance de personne nommée p, elle est ensuite convertie en objet JSON à l'aide de la fonction marshal fournie par le package JSON. L'objet JSON converti est stocké dans la variable b et peut être imprimé à l'aide de la fonction Println du package fmt.
3.2 Convertir un objet JSON en structure
Si nous recevons un objet JSON et souhaitons le convertir en structure, nous pouvons utiliser la fonction unmarshal fournie par le package JSON. Par exemple, supposons que nous ayons reçu la chaîne JSON suivante :
{ "name": "John", "age": 25, "address": "123 Main Street" }
Nous pouvons définir une structure pour stocker ces données :
type person struct { Name string `json:"name"` Age int `json:"age"` Address string `json:"address"` }
Nous pouvons ensuite utiliser la fonction unmarshal fournie par le package JSON pour convertir l'objet JSON en structure :
var p person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { panic(err) } fmt.Println(p)
Ci-dessus Dans le code, nous définissons une instance de personne nommée p, puis utilisons la fonction unmarshal fournie par le package JSON pour convertir l'objet JSON en cette instance. L'instance de personne convertie est stockée dans la variable p et peut être imprimée à l'aide de la fonction Println du package fmt.
4. Échange de données avec d'autres langages de programmation
Étant donné que JSON est un format d'échange de données universel, les applications écrites en Golang peuvent échanger des données entre différents langages de programmation. Par exemple, lors du développement d'une application Web à l'aide de Golang, vous pouvez envoyer des données JSON au JavaScript frontal et les analyser en JavaScript.
5. Avantages de JSON
JSON est sans aucun doute un excellent format de données, et son plus grand avantage est que les données sont très lisibles. Comparé à d'autres formats de données (tels que les formats binaires), JSON est plus facile et plus pratique à lire.
De plus, le package JSON fourni avec Golang est assez simple à utiliser. Les développeurs peuvent facilement convertir leurs propres données au format JSON et échanger des données avec d'autres langages de programmation.
6. Résumé
En tant que format d'échange de données léger et très lisible, JSON est largement utilisé dans différents langages de programmation. Le package JSON fourni par Golang est très simple à utiliser et facilite la conversion des données. À l’avenir, nous pourrons envisager d’utiliser JSON pour l’échange de données lors de l’écriture d’applications Web.
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!