Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk menukar struct kepada data JSON di Golang?

Bagaimana untuk menukar struct kepada data JSON di Golang?

WBOY
Lepaskan: 2024-06-01 13:01:57
asal
540 orang telah melayarinya

Di Golang, gunakan pakej pengekodan/json untuk menukar struktur kepada data JSON Langkah-langkahnya adalah seperti berikut: Pasang pakej pengekodan/json. Tentukan struktur. Tukar struktur kepada rentetan JSON menggunakan fungsi json.Marshal().

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

Bagaimana untuk menukar struktur kepada data JSON di Golang?

Di Golang, anda boleh menggunakan pakej pengekodan/json untuk menukar struktur kepada data JSON. Begini caranya: encoding/json 包将结构体转换为 JSON 数据。以下是如何操作:

1. 安装包

go get -u encoding/json
Salin selepas log masuk

2. 定义结构体

type Person struct {
    Name string
    Age  int
}
Salin selepas log masuk

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)
}
Salin selepas log masuk

输出:

{"Name":"John","Age":30}
Salin selepas log masuk

实战案例: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)
}
Salin selepas log masuk

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

1 Pasang pakej 🎜rrreee🎜2. Tentukan struktur 🎜rrreee🎜Tukar kepada JSON 🎜🎜 Gunakan fungsi json.Marshal() untuk menukar struktur kepada rentetan JSON: 🎜rrreee🎜Output: 🎜rrreee🎜Kes praktikal: REST API🎜🎜Yang berikut ialah kes praktikal , menunjukkan cara menukar struktur kepada data JSON dalam API REST: 🎜rrreee🎜Dalam kes ini, apabila pelanggan membuat permintaan GET ke titik akhir /person/{name}, pelayan bertanya kepada Pangkalan Data, mendapatkan struktur Orang, kemudian menukar struktur kepada JSON dan menghantarnya kepada klien. 🎜

Atas ialah kandungan terperinci Bagaimana untuk menukar struct kepada data JSON di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan