Maison > développement back-end > Golang > chaîne golang 转json

chaîne golang 转json

WBOY
Libérer: 2023-05-13 10:04:07
original
3327 Les gens l'ont consulté

Dans Golang, pour convertir le type de chaîne en objet json, vous pouvez utiliser le package json dans la bibliothèque standard.

Tout d'abord, nous pouvons utiliser la fonction json.Marshal() pour convertir des objets en golang en chaînes au format json. Par exemple :

type Person struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

p := Person{Name: "Tom", Age: 29}
jsonStr, err := json.Marshal(p)
if err != nil {
    fmt.Println("json.Marshal failed:", err)
}

fmt.Println(string(jsonStr))
Copier après la connexion

Le code ci-dessus affichera le résultat suivant :

{"name":"Tom","age":29}
Copier après la connexion

Ensuite, nous pouvons utiliser la fonction json.Unmarshal() pour convertir la chaîne json en un objet en golang. Par exemple :

jsonStr := `{"name":"Tom","age":29}`

var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
    fmt.Println("json.Unmarshal failed:", err)
}

fmt.Println(p.Name, p.Age)
Copier après la connexion

Le code ci-dessus affichera le résultat suivant :

Tom 29
Copier après la connexion

Il convient de noter que lors de l'analyse de json, des paramètres de type []byte sont utilisés, le type de chaîne doit donc être converti en [] via un type forcé conversion.

De plus, vous pouvez également utiliser directement la fonction json.NewDecoder() pour analyser la chaîne de format json dans un objet json, par exemple :

jsonStr := `{"name":"Tom","age":29}`

var data interface{}
decoder := json.NewDecoder(strings.NewReader(jsonStr))
err := decoder.Decode(&data)
if err != nil {
    fmt.Println("json.Unmarshal failed:", err)
}

fmt.Println(data)
Copier après la connexion

Le code ci-dessus affichera le résultat suivant :

map[name:Tom age:29]
Copier après la connexion

De cette façon, nous pouvons utiliser golang Le package json de la bibliothèque standard convertit les types de chaînes en objets json.

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