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

WBOY
Lepaskan: 2023-11-03 12:18:32
asal
865 orang telah melayarinya

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"`
Salin selepas log masuk
Salin selepas log masuk

}

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

pakej utama

import (

"encoding/json"
"fmt"
Salin selepas log masuk

)

taip Person struct {

Name string `json:"name"`
Age  int    `json:"age"`
Salin selepas log masuk
Salin selepas log masuk

}

func main() {

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

}, 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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!