Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk mengekod data JSON di Golang?

Bagaimana untuk mengekod data JSON di Golang?

WBOY
Lepaskan: 2024-06-03 13:44:56
asal
694 orang telah melayarinya

Untuk mengekod data JSON dalam Go, gunakan langkah berikut: Gunakan json.Marshal untuk mengekod jenis Go ke dalam kepingan bait JSON. Gunakan json.Unmarshal untuk menyahkod jenis Go daripada pengekodan JSON dan menyimpan kepingan bait JSON dalam jenis Go.

如何在 Golang 中编码 JSON 数据?

Bagaimana untuk mengekod data JSON di Golang?

Pengekodan data JSON dalam Go ialah proses mudah yang boleh dicapai menggunakan pustaka standard pengekodan/json. Pustaka menyediakan set fungsi yang kaya untuk pengekodan jenis Go kepada JSON dan penyahkodan jenis Go daripada pengekodan 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))
}
Salin selepas log masuk

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

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

解码 JSON 为 Go 类型

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

Pengekodan jenis Go ke JSON

Untuk mengekod jenis Go ke JSON, anda boleh menggunakan fungsi json.Marshal. Fungsi ini menerima nilai Go dan mengembalikan kepingan bait berkod JSON yang sepadan.

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

Coretan kod di atas akan mengeluarkan JSON berikut:

{John Doe 30 false}
Salin selepas log masuk
Menyahkod JSON ke jenis Go
  • Untuk menyahkod jenis Go daripada pengekodan JSON, anda boleh menggunakan fungsi json.Unmarshal. Fungsi ini menerima kepingan bait yang dikodkan JSON dan menyimpan nilai yang sepadan dalam jenis Go yang disediakan.
  • rrreee
  • Coretan kod di atas akan mengeluarkan keputusan berikut:
  • rrreee
  • Kes praktikal
Dalam banyak senario praktikal, adalah perlu untuk mengekod jenis Go ke dalam JSON, seperti:

    Membina data HTTP ke dalam JSONStoring
  • fail
  • Memindahkan data dalam sistem teragih
  • Sebaliknya, pengekodan dan penyahkodan jenis Go daripada JSON juga mempunyai banyak aplikasi praktikal, seperti:
🎜🎜Menghuraikan respons API HTTP 🎜🎜Membaca data daripada fail JSON yang diedarkan semula 🎜 🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk mengekod 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