Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ketahui fungsi json.Marshal dalam dokumentasi bahasa Go untuk melaksanakan pensirilan JSON

Ketahui fungsi json.Marshal dalam dokumentasi bahasa Go untuk melaksanakan pensirilan JSON

WBOY
WBOYasal
2023-11-03 12:18:32889semak imbas

Ketahui fungsi json.Marshal dalam dokumentasi bahasa Go untuk melaksanakan pensirilan JSON

Untuk mempelajari fungsi json.Marshal dalam dokumen bahasa Go untuk melaksanakan pensirilan JSON, contoh kod khusus diperlukan

Dalam bahasa Go, fungsi json.Marshal ialah salah satu fungsi penting untuk melaksanakan pensirilan JSON. Ia boleh menukar struktur data dalam bahasa Go kepada rentetan yang mematuhi format JSON. Artikel ini akan memperkenalkan penggunaan fungsi json.Marshal secara terperinci dan memberikan contoh kod khusus.

Pertama, kita perlu memahami penggunaan asas fungsi json.Marshal. Fungsi ditakrifkan seperti berikut:

func Marshal(v antara muka{}) ([]bait, ralat)

Fungsi menerima parameter v antara muka jenis{} dan mengembalikan kepingan bait jenis []bait dan ralat ralat taip. Dengan memanggil fungsi ini, v boleh disirikan menjadi rentetan berformat JSON.

Seterusnya, mari lihat contoh kod tertentu. Katakan kita mempunyai struktur Person, ditakrifkan seperti berikut:

type Person struct {

Name string `json:"name"`
Age  int    `json:"age"`

}

Kami mahu menukar struktur ini kepada rentetan dalam format JSON. Kod sampel adalah seperti berikut:

pakej utama

import (

"encoding/json"
"fmt"

)

taip Person struct {

Name string `json:"name"`
Age  int    `json:"age"`

}

func main() {

p := Person{"Alice", 25}
b, err := json.Marshal(p)
if err != nil {
    fmt.Println("JSON序列化失败:", err)
    return
}
fmt.Println(string(b))

}, kita buat dulu dalam kod di atas

Orang Objek jenis p dan memulakan sifat Nama dan Umurnya. Kemudian, panggil fungsi json.Marshal untuk mensiri p ke dalam rentetan berformat JSON. Jika siri berjaya, kepingan bait b dan ralat sifar akan dikembalikan. Kita boleh menukar kepingan bait kepada rentetan dengan memanggil rentetan(b) dan mencetak hasilnya menggunakan fmt.Println.

Kompil dan jalankan kod di atas, anda boleh mendapatkan output berikut:

{"name":"Alice","age":25}

Seperti yang anda boleh lihat daripada output, struktur Person telah berjaya disirikan ke dalam rentetan Format JSON.

Perlu diingat bahawa fungsi json.Marshal hanya akan mensirikan medan yang dieksport dalam struktur (huruf pertama ditulis dengan huruf besar). Jika medan tidak dieksport, ia tidak boleh bersiri.

Selain itu, jika medan dalam struktur mempunyai label (iaitu json: "..."), ia akan disiri mengikut takrifan label. Dalam kod sampel, kami menambahkan tag json pada medan Nama dan Umur untuk menentukan nama medan yang sepadan dalam rentetan JSON. Melakukan ini memastikan nama medan yang konsisten semasa penyiaran JSON.

Untuk meringkaskan, dengan mempelajari dan memahami penggunaan fungsi json.Marshal dalam dokumen bahasa Go, kami boleh dengan mudah menyusun struktur data dalam bahasa Go ke dalam rentetan format JSON. Dalam aplikasi praktikal, kami boleh menggunakan dan memanjangkan fungsi json.Marshal seperti yang diperlukan untuk melaksanakan operasi penyirian JSON yang lebih kompleks.

Atas ialah kandungan terperinci Ketahui fungsi json.Marshal dalam dokumentasi bahasa Go untuk melaksanakan pensirilan JSON. 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