Maison > développement back-end > Golang > le corps du texte

Apprenez la fonction json.Marshal dans la documentation du langage Go pour implémenter la sérialisation JSON

WBOY
Libérer: 2023-11-03 12:18:32
original
865 Les gens l'ont consulté

Apprenez la fonction json.Marshal dans la documentation du langage Go pour implémenter la sérialisation JSON

Pour apprendre la fonction json.Marshal dans le document en langage Go afin d'implémenter la sérialisation JSON, des exemples de code spécifiques sont nécessaires

Dans le langage Go, la fonction json.Marshal est l'une des fonctions importantes pour implémenter la sérialisation JSON. Il peut convertir des structures de données en langage Go en chaînes conformes au format JSON. Cet article présentera en détail l'utilisation de la fonction json.Marshal et fournira des exemples de code spécifiques.

Tout d’abord, nous devons comprendre l’utilisation de base de la fonction json.Marshal. La fonction est définie comme suit :

func Marshal(v interface{}) ([]byte, error)

La fonction accepte un paramètre v de type interface{} et renvoie une tranche d'octets de type []byte et une erreur erreur de saisie. En appelant cette fonction, v peut être sérialisé dans une chaîne au format JSON.

Ensuite, regardons un exemple de code spécifique. Supposons que nous ayons une structure Person, définie comme suit :

type Person struct {

Name string `json:"name"`
Age  int    `json:"age"`
Copier après la connexion
Copier après la connexion

}

Nous souhaitons convertir cette structure en chaîne au format JSON. L'exemple de code est le suivant :

package main

import (

"encoding/json"
"fmt"
Copier après la connexion

)

type Person struct {

Name string `json:"name"`
Age  int    `json:"age"`
Copier après la connexion
Copier après la connexion

}

func main() {

p := Person{"Alice", 25}
b, err := json.Marshal(p)
if err != nil {
    fmt.Println("JSON序列化失败:", err)
    return
}
fmt.Println(string(b))
Copier après la connexion

}

Dans le code ci-dessus, nous créons d'abord a Person Un objet de type p et initialise ses propriétés Name et Age. Ensuite, appelez la fonction json.Marshal pour sérialiser p dans une chaîne au format JSON. Si la sérialisation réussit, une tranche d'octets b et une erreur nulle seront renvoyées. Nous pouvons convertir la tranche d'octets en chaîne en appelant string(b) et imprimer le résultat en utilisant fmt.Println.

Compilez et exécutez le code ci-dessus, vous pouvez obtenir le résultat suivant :

{"name":"Alice","age":25}

Comme vous pouvez le voir sur le résultat, la structure Person a été sérialisée avec succès dans la chaîne au format JSON.

Il est à noter que la fonction json.Marshal ne sérialisera que les champs exportés dans la structure (la première lettre est en majuscule). Si un champ n'est pas exporté, il ne peut pas être sérialisé.

De plus, si les champs de la structure ont des labels (ex. json : "..."), ils seront sérialisés selon la définition des labels. Dans l'exemple de code, nous avons ajouté des balises json aux champs Nom et Âge pour spécifier les noms de champs correspondants dans la chaîne JSON. Cela garantit des noms de champs cohérents lors de la sérialisation JSON.

Pour résumer, en apprenant et en comprenant l'utilisation de la fonction json.Marshal dans le document en langage Go, nous pouvons facilement sérialiser la structure des données dans le langage Go dans une chaîne au format JSON. Dans des applications pratiques, nous pouvons utiliser et étendre la fonction json.Marshal selon les besoins pour implémenter des opérations de sérialisation JSON plus complexes.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!