Maison > développement back-end > Golang > Comment encoder des données JSON dans Golang ?

Comment encoder des données JSON dans Golang ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2024-06-03 13:44:56
original
712 Les gens l'ont consulté

Pour encoder des données JSON dans Go, procédez comme suit : Utilisez json.Marshal pour encoder les types Go en tranches d'octets JSON. Utilisez json.Unmarshal pour décoder les types Go à partir de l'encodage JSON et stocker les tranches d'octets JSON dans les types Go.

如何在 Golang 中编码 JSON 数据?

Comment encoder des données JSON dans Golang ?

L'encodage des données JSON dans Go est un processus simple qui peut être réalisé à l'aide de la bibliothèque standard encoding/json. La bibliothèque fournit un riche ensemble de fonctions pour encoder les types Go en JSON et décoder les types Go à partir de l'encodage JSON. encoding/json 标准库来完成的简单明了的过程。该库提供了丰富的函数用于将 Go 类型编码为 JSON,以及从 JSON 编码中解码 Go 类型。

编码 Go 类型为 JSON

要将Go类型编码为JSON,可以使用 json.Marshal 函数。该函数接受一个 Go 值并返回其相应的 JSON 编码的字节切片。

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    Name  string
    Age   int
    Admin bool
}

func main() {
    user := User{Name: "John Doe", Age: 30, Admin: false}

    jsonBytes, err := json.Marshal(user)
    if err != nil {
        fmt.Println("Error encoding user:", err)
        return
    }

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

上面的代码片段会输出如下 JSON:

{"Name":"John Doe","Age":30,"Admin":false}
Copier après la connexion

解码 JSON 为 Go 类型

要从 JSON 编码中解码一个 Go 类型,可以使用 json.Unmarshal

Encodage des types Go en JSON

Pour encoder les types Go en JSON, vous pouvez utiliser la fonction json.Marshal. Cette fonction accepte une valeur Go et renvoie sa tranche d'octets codée en JSON correspondante.

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    Name  string
    Age   int
    Admin bool
}

func main() {
    jsonBytes := []byte(`{"Name":"John Doe","Age":30,"Admin":false}`)

    var user User
    if err := json.Unmarshal(jsonBytes, &user); err != nil {
        fmt.Println("Error decoding user:", err)
        return
    }

    fmt.Println(user)
}
Copier après la connexion

L'extrait de code ci-dessus affichera le JSON suivant :

{John Doe 30 false}
Copier après la connexion
Décodage de JSON en type Go
  • Pour décoder un type Go à partir de l'encodage JSON, vous pouvez utiliser la fonction json.Unmarshal. Cette fonction accepte une tranche d'octets codée en JSON et stocke la valeur correspondante dans le type Go fourni.
  • rrreee
  • L'extrait de code ci-dessus produira les résultats suivants :
  • rrreee
  • Cas pratique
Dans de nombreux scénarios pratiques, il est nécessaire d'encoder les types Go en JSON, tels que :

    Création d'une API HTTP
  • Stockage de données en JSON fichiers
  • Transférer des données dans des systèmes distribués
À l'inverse, l'encodage et le décodage des types Go à partir de JSON ont également de nombreuses applications pratiques, telles que : 🎜🎜🎜 Analyse des réponses de l'API HTTP 🎜🎜 Lecture de données à partir de fichiers JSON 🎜🎜 Réception de données à partir de systèmes distribués 🎜🎜

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!

Étiquettes associées:
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