Pensirian dan penyahserikatan data json
Pengenalan | Nama penuh json ialah tatatanda objek Javascript, dan nama penuh bahasa Cina ialah: tatatanda objek js. Antara protokol bersiri dan penyahserian, terdapat: json, xml, yaml, penampan protokol, dll. Antaranya, json ialah bentuk penghantaran utama data kontrak API bahagian hadapan dan belakang. json menyokong empat jenis data: nilai angka, nilai Boolean, tatasusunan dan objek. Dengan empat jenis data ini, model data yang kompleks boleh dibina. |
Dalam bahasa Go, kami boleh menggunakan pustaka standard json untuk melaksanakan pensirilan dan penyahsirilan data. Pustaka ini menyediakan kaedah yang mudah untuk mensiri dan menyahsiri peta, struktur, tatasusunan, kepingan dan jenis data primitif terbina dalam. Dengan menggunakan perpustakaan standard json, kami boleh menukar data ke dalam format json dengan mudah dan menghuraikannya kembali kepada jenis data asal apabila diperlukan. Ini memberikan kami kemudahan besar dalam memproses data.
Di sini, saya akan memberikan tiga contoh untuk menggambarkan penggunaan json. Untuk pemula, anda mungkin sering menggunakan hanya satu objek struktur untuk menerima dan menghantar data. Mari kita lihat contoh khusus di bawah. 1. Gunakan objek struktur untuk menerima data: ``` taip Person struct { Rentetan nama `json:"name"` Age int `json:"age"` } func main() { data := `{"name": "Alice", "umur": 25}` var p Orang err := json.Unmarshal([]bait(data), &p) if err != nil { fmt.Println("Gagal menghuraikan json:", err) kembali
taip struct Orang {<br>
Rentetan nama `json:"name"`<br>
Age int `json:"age"`<br>
}
<br>
fungsi utama() {<br>
var (<br>
newSetiap Orang<br>
bts []bait<br>
)<br>
setiap:=Orang{<br>
Nama: "Lily",<br>
Umur: 29,<br>
}<br>
// Pensirian<br>
jika bts, err = json.Marshal(per);
log.Fatal(err.Error())<br>
kembali<br>
}<br>
if err = json.Unmarshal(bts, &newPer);
log.Fatal(err.Error())<br>
kembali<br>
}<br>
fmt.Println(newPer)<br>
}<br><br>
peta
var (
smap = peta[rentetan]int{<br>
"Umur": 28,<br>
"Jantina": 1,<br>
"Tingkat": 12,<br>
}<br>
newSmap = buat(peta[rentetan]int)<br>
bts []bait<br>
)<br>
jika bts, err = json.Marshal(smap);
log.Fatal(err.Error())<br>
kembali<br>
}<br>
if err = json.Umarshal(bts, &newSmap);
log.Fatal(err.Error())<br>
kembali<br>
}<br>
fmt.Println(newSmap)<br>
}<br><br>
<br>Susun atur atau hirisan tatasusunan dinamik<br>
bts []bait
err ralat<br>
newAges = buat([]int, len(umur))<br>
)<br>
jika bts, err = json.Marshal(umur);
fmt.Println(err.Error())<br>
kembali<br>
}<br>
if err = json.Unmarshal(bts, &newAges err != nil {<br>
fmt.Println(err.Error())<br>
kembali<br>
}<br>
fmt.Println("zaman baharu: ", Zaman baharu)<br>
kembali<br>
}<br><br>
Pemula agak jelas tentang pensirilan json dan penyahserialisasian struktur, tetapi mereka mungkin jarang atau tidak pernah menggunakan dua yang terakhir. <br>
<br>
<br>Untuk data jenis tatasusunan, tetapi beberapa senario perniagaan bahagian hadapan akan menggunakannya.
Untuk jenis peta, secara amnya apabila antara muka REST pihak ketiga dipanggil pada pelayan bahasa Go, pelayan hanya mahu kod pemulangan yang ditentukan untuk menentukan sama ada panggilan itu berjaya. Pengaturcara tidak mahu menulis definisi keseluruhan struktur struktur, atau mungkin dia malas, jadi dia menggunakan peta[rentetan]antara muka{} untuk menerima data pemulangan. Pada masa ini, selepas menyahsiri melalui Unmarshal dalam pustaka standard json, kod pulangan diperoleh melalui map["err_code"].(int), dan kemudian logik pemprosesan seterusnya yang lain dilakukan.
- Di sini saya juga ingin menerangkan ciri-ciri yang kadang-kadang saya gunakan apabila menggunakan struktur Ciri nilai tag omitempty yang disokong oleh json struktur, contohnya:
- taip struct Orang { Rentetan nama `json:"name,omitempty"`
}
Ini bermakna apabila nilai teg bagi fungsi omitempty ditetapkan, jika nilai elemen data bagi struktur yang sepadan ialah sifar, ia tidak akan menjadi output. Maksudnya, jika elemen dalam data struktur yang dikembalikan oleh pelayan kosong dan elemen ini tidak dikembalikan ke bahagian hadapan, anda boleh menggunakan atribut nilai tag json untuk omitempty. <br>
<br>Di sini kami menyediakan anda perpustakaan penghuraian json yang ditulis oleh Taowen, jurutera kanan Syarikat Didi, yang merupakan yang terpantas di dunia. alamat github: jsoniter. <br>
<br>
Pengenalan terperinci OpenFermion: klik untuk melihat
Alamat muat turun OpenFermion: klik untuk memuat turun
-
Artikel itu dicetak semula daripada Komuniti Sumber Terbuka China [http://www.oschina.net]
Atas ialah kandungan terperinci Pensirian dan penyahserikatan data json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Menggunakan Python di Terminal Linux ...

Konfigurasikan tugas masa Apscheduler sebagai perkhidmatan di platform macOS, jika anda ingin mengkonfigurasi tugas masa Apscheduler sebagai perkhidmatan, sama dengan Ngin ...

Multithreading dalam bahasa dapat meningkatkan kecekapan program. Terdapat empat cara utama untuk melaksanakan multithreading dalam bahasa C: Buat proses bebas: Buat pelbagai proses berjalan secara bebas, setiap proses mempunyai ruang ingatan sendiri. Pseudo-Multithreading: Buat pelbagai aliran pelaksanaan dalam proses yang berkongsi ruang memori yang sama dan laksanakan secara bergantian. Perpustakaan multi-threaded: Gunakan perpustakaan berbilang threaded seperti PTHREADS untuk membuat dan mengurus benang, menyediakan fungsi operasi benang yang kaya. Coroutine: Pelaksanaan pelbagai threaded ringan yang membahagikan tugas menjadi subtask kecil dan melaksanakannya pada gilirannya.

Untuk membuka fail web.xml, anda boleh menggunakan kaedah berikut: Gunakan editor teks (seperti Notepad atau TextEdit) untuk mengedit arahan menggunakan persekitaran pembangunan bersepadu (seperti Eclipse atau NetBeans) (Windows: Notepad Web.xml; Mac/Linux: Open -A -A TextEdit Web.xml)

Mengenai masalah menghapuskan penterjemah python yang dilengkapi dengan sistem Linux, banyak pengagihan Linux akan memasang semula penterjemah python apabila dipasang, dan ia tidak menggunakan pengurus pakej ...

Linux paling baik digunakan sebagai pengurusan pelayan, sistem tertanam dan persekitaran desktop. 1) Dalam pengurusan pelayan, Linux digunakan untuk menjadi tuan rumah laman web, pangkalan data, dan aplikasi, menyediakan kestabilan dan kebolehpercayaan. 2) Dalam sistem tertanam, Linux digunakan secara meluas di rumah pintar dan sistem elektronik automotif kerana fleksibiliti dan kestabilannya. 3) Dalam persekitaran desktop, Linux menyediakan aplikasi yang kaya dan prestasi yang cekap.

Debianlinux terkenal dengan kestabilan dan keselamatannya dan digunakan secara meluas dalam persekitaran pelayan, pembangunan dan desktop. Walaupun kini terdapat kekurangan arahan rasmi mengenai keserasian langsung dengan Debian dan Hadoop, artikel ini akan membimbing anda tentang cara menggunakan Hadoop pada sistem Debian anda. Keperluan Sistem Debian: Sebelum memulakan konfigurasi Hadoop, sila pastikan sistem Debian anda memenuhi keperluan operasi minimum Hadoop, yang termasuk memasang Java Runtime Environment (JRE) dan pakej Hadoop. Langkah Penyebaran Hadoop: Muat turun dan Unzip Hadoop: Muat turun versi Hadoop yang anda perlukan dari laman web Apachehadoop rasmi dan selesaikannya

"Debianstrings" bukan istilah standard, dan makna khususnya masih belum jelas. Artikel ini tidak dapat mengulas secara langsung mengenai keserasian penyemak imbasnya. Walau bagaimanapun, jika "debianstrings" merujuk kepada aplikasi web yang dijalankan pada sistem Debian, keserasian penyemak imbasnya bergantung kepada seni bina teknikal aplikasi itu sendiri. Sebilangan besar aplikasi web moden komited untuk keserasian penyemak imbas. Ini bergantung kepada standard web berikut dan menggunakan teknologi front-end yang serasi (seperti HTML, CSS, JavaScript) dan teknologi back-end (seperti PHP, Python, Node.js, dll.). Untuk memastikan bahawa aplikasi itu serasi dengan pelbagai pelayar, pemaju sering perlu menjalankan ujian silang dan menggunakan responsif
