Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kaedah untuk melaksanakan pensirilan dan penyahserikatan JSON di Golang

Kaedah untuk melaksanakan pensirilan dan penyahserikatan JSON di Golang

WBOY
WBOYasal
2024-01-28 08:44:17584semak imbas

Kaedah untuk melaksanakan pensirilan dan penyahserikatan JSON di Golang

Cara melaksanakan pensirilan dan penyahsirilan JSON dalam Golang

JSON (Notasi Objek JavaScript) ialah format pertukaran data yang biasa digunakan yang mewakili data berstruktur dalam bentuk teks. Di Golang, kami boleh menggunakan pakej pengekodan/json terbina dalam untuk melaksanakan operasi pensirilan dan penyahsirian JSON.

1. Siri JSON

Siri JSON merujuk kepada menukar jenis data dalam bahasa Go kepada rentetan yang mematuhi format JSON. Di Golang, kita boleh melaksanakan siri JSON melalui fungsi Marshal.

Berikut ialah contoh mudah:

package main

import (
    "encoding/json"
    "fmt"
)

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

func main() {
    person := Person{
        Name: "小明",
        Age:  20,
    }

    jsonBytes, err := json.Marshal(person)
    if err != nil {
        fmt.Println("JSON序列化失败:", err)
        return
    }

    jsonString := string(jsonBytes)
    fmt.Println("JSON序列化结果:", jsonString)
}

Jalankan kod di atas dan hasil output ialah:

JSON序列化结果: {"name":"小明","age":20}

Dalam contoh di atas, kami mentakrifkan struktur Orang dan menggunakan fungsi Marshal untuk mensirikan orang contoh struktur Orang sebagai rentetan JSON . Dengan menetapkan teg json medan struktur, kami boleh menentukan nama medan dalam JSON.

2. Penyahserikatan JSON

Penyahserikatan JSON merujuk kepada menukar rentetan yang mematuhi format JSON kepada jenis data dalam bahasa Go. Di Golang, kita boleh melaksanakan penyahserikatan JSON melalui fungsi Unmarshal.

Berikut ialah contoh mudah:

package main

import (
    "encoding/json"
    "fmt"
)

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

func main() {
    jsonString := `{"name":"小明","age":20}`

    var person Person
    err := json.Unmarshal([]byte(jsonString), &person)
    if err != nil {
        fmt.Println("JSON反序列化失败:", err)
        return
    }

    fmt.Println("JSON反序列化结果:", person)
}

Jalankan kod di atas, dan hasil output ialah:

JSON反序列化结果: {小明 20}

Dalam contoh di atas, kami mula-mula mentakrifkan rentetan format JSON jsonString. Seterusnya, gunakan fungsi Unmarshal untuk menyahsiri jsonString menjadi orang contoh struktur Orang. Perlu diingatkan bahawa parameter pertama fungsi Unmarshal ialah kepingan bait, dan rentetan itu perlu ditukar menjadi kepingan bait.

Ringkasan:

Dengan menggunakan fungsi Marshal dan Unmarshal dalam pakej pengekodan/json, kami boleh melaksanakan operasi pensirilan dan penyahserikatan JSON di Golang. Dalam pembangunan sebenar, pensirilan dan penyahserikatan JSON adalah operasi yang sangat biasa, terutamanya apabila berinteraksi dengan bahagian hadapan atau memproses data API luaran. Menguasai kemahiran ini boleh meningkatkan kecekapan pembangunan kita dengan banyak.

Atas ialah kandungan terperinci Kaedah untuk melaksanakan pensirilan dan penyahserikatan JSON di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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