Maison > développement back-end > Golang > Comment convertir une structure en données JSON dans Golang ?

Comment convertir une structure en données JSON dans Golang ?

WBOY
Libérer: 2024-06-01 13:01:57
original
532 Les gens l'ont consulté

Dans Golang, utilisez le package encoding/json pour convertir la structure en données JSON. Les étapes sont les suivantes : Installez le package encoding/json. Définir la structure. Convertissez la structure en chaîne JSON à l'aide de la fonction json.Marshal().

如何在 Golang 中将结构体转换为 JSON 数据?

Comment convertir une structure en données JSON dans Golang ?

Dans Golang, vous pouvez utiliser le package encoding/json pour convertir les structures en données JSON. Voici comment procéder : encoding/json 包将结构体转换为 JSON 数据。以下是如何操作:

1. 安装包

go get -u encoding/json
Copier après la connexion

2. 定义结构体

type Person struct {
    Name string
    Age  int
}
Copier après la connexion

3. 转换为 JSON

使用 json.Marshal() 函数将结构体转换为 JSON 字符串:

import "encoding/json"

func main() {
    person := Person{Name: "John", Age: 30}

    jsonBytes, err := json.Marshal(person)
    if err != nil {
        // 处理错误
    }

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

输出:

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

实战案例:REST API

以下是一个实战案例,展示如何在一个 REST API 中将结构体转换为 JSON 数据:

import (
    "encoding/json"
    "net/http"

    "github.com/gorilla/mux"
)

type Person struct {
    Name string
    Age  int
}

func main() {
    router := mux.NewRouter()

    // 路由用于获取单个人的详细信息
    router.HandleFunc("/person/{name}", func(w http.ResponseWriter, r *http.Request) {
        // 从 URL 中获取名称
        name := mux.Vars(r)["name"]

        // 根据名称查询数据库并获取 Person 结构体
        person := getPersonFromDB(name)

        // 将结构体转换为 JSON
        jsonBytes, err := json.Marshal(person)
        if err != nil {
            // 处理错误
        }

        // 将 JSON 发送到客户端
        w.Header().Add("Content-Type", "application/json")
        w.Write(jsonBytes)
    })

    // 启动服务器
    http.ListenAndServe(":8080", router)
}
Copier après la connexion

在这个案例中,当客户端向 /person/{name}

1. Installez le package 🎜rrreee🎜2 Définissez la structure 🎜rrreee🎜3. 🎜🎜 Utilisez la fonction json.Marshal() pour convertir la structure en chaîne JSON : 🎜rrreee🎜Sortie : 🎜rrreee🎜Cas pratique : API REST🎜🎜Ce qui suit est un cas pratique, montrant comment convertir une structure en données JSON dans une API REST : 🎜rrreee🎜Dans ce cas, lorsque le client fait une requête GET au point de terminaison /person/{name}, le serveur interroge la base de données, obtient une structure Personne, puis convertit la structure en JSON et l'envoie au client. 🎜

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:
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