Bagaimana untuk menukar data ke json dalam golang

PHPz
Lepaskan: 2023-04-07 17:31:01
asal
1874 orang telah melayarinya

1. Apakah itu JSON?

JSON, yang bermaksud Notasi Objek JavaScript, ialah format pertukaran data yang ringan Ciri terbesarnya ialah kebolehbacaannya yang tinggi. Data dalam format JSON mudah dibaca dan dihuraikan, dan juga sangat sesuai untuk pertukaran data dengan pelayan dan pelanggan.

2. JSON dalam golang

Golang (juga dikenali sebagai bahasa Go) ialah bahasa pengaturcaraan baharu yang menyokong format JSON secara lalai. Ini bermakna pertukaran data menggunakan JSON menjadi sangat mudah.

Pakej JSON di Golang menyediakan dua kaedah, marshal dan unmarshal, yang boleh menukar struktur atau peta kepada objek JSON, atau menukar objek JSON kepada struktur atau peta.

3. Gunakan JSON untuk pertukaran data dalam Golang

3.1 Tukar struktur kepada objek JSON

Di Golang, anda boleh menentukan struktur untuk menyimpan data. Sebagai contoh, struktur boleh ditakrifkan seperti berikut:

type person struct {
    Name string `json:”name”`
    Age int `json:”age”`
    Address string `json:”address”`
}
Salin selepas log masuk

Jika anda ingin menukar tika seseorang kepada objek JSON, anda boleh menggunakan fungsi marshal yang disediakan oleh pakej JSON:

p := person{Name: "John", Age: 25, Address: "123 Main Street"}
b, err := json.Marshal(p)
if err != nil {
    panic(err)
}
fmt.Println(string(b))
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan contoh orang bernama p, dan kemudian menggunakan fungsi marshal yang disediakan oleh pakej JSON untuk menukarnya menjadi objek JSON. Objek JSON yang ditukar disimpan dalam pembolehubah b dan boleh dicetak menggunakan fungsi Println daripada pakej fmt.

3.2 Tukar objek JSON kepada struktur

Jika kita menerima objek JSON dan ingin menukarnya kepada struktur, kita boleh menggunakan fungsi unmarshal yang disediakan oleh pakej JSON. Sebagai contoh, katakan kita telah menerima rentetan JSON berikut:

{
    "name": "John",
    "age": 25,
    "address": "123 Main Street"
}
Salin selepas log masuk

Kita boleh menentukan struktur untuk menyimpan data ini:

type person struct {
    Name string `json:"name"`
    Age int `json:"age"`
    Address string `json:"address"`
}
Salin selepas log masuk

Kemudian, kita boleh menggunakan fungsi unmarshal yang disediakan oleh pakej JSON Tukar objek JSON kepada struktur:

var p person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
    panic(err)
}
fmt.Println(p)
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan contoh orang bernama p, dan kemudian menggunakan fungsi unmarshal yang disediakan oleh pakej JSON untuk menukar objek JSON kepada kejadian ini . Contoh orang yang ditukar disimpan dalam pembolehubah p dan boleh dicetak menggunakan fungsi Println daripada pakej fmt.

4. Pertukaran data dengan bahasa pengaturcaraan lain

Memandangkan JSON ialah format pertukaran data universal, aplikasi yang ditulis menggunakan Golang boleh bertukar-tukar data antara bahasa pengaturcaraan yang berbeza. Contohnya, apabila membangunkan aplikasi web menggunakan Golang, anda boleh menghantar data JSON ke JavaScript bahagian hadapan dan menghuraikannya dalam JavaScript.

5. Kelebihan JSON

JSON sudah pasti format data yang sangat baik, dan kelebihan terbesarnya ialah data itu sangat mudah dibaca. Berbanding dengan format data lain (seperti format binari), JSON lebih mudah dan lebih senang dibaca.

Selain itu, pakej JSON yang disertakan dengan Golang agak mudah digunakan Pembangun boleh menukar data mereka sendiri ke dalam format JSON dan menukar data dengan bahasa pengaturcaraan lain.

6. Ringkasan

Sebagai format pertukaran data yang ringan dan mudah dibaca, JSON digunakan secara meluas dalam bahasa pengaturcaraan yang berbeza. Pakej JSON yang disediakan oleh Golang sangat mudah digunakan dan memudahkan penukaran data. Pada masa hadapan, kami boleh mempertimbangkan untuk menggunakan JSON untuk pertukaran data semasa menulis aplikasi web.

Atas ialah kandungan terperinci Bagaimana untuk menukar data ke json dalam golang. 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