Rumah > pembangunan bahagian belakang > Golang > Penjelasan terperinci tentang cara melakukan penukaran Json dalam bahasa Go

Penjelasan terperinci tentang cara melakukan penukaran Json dalam bahasa Go

PHPz
Lepaskan: 2023-04-10 14:44:35
asal
920 orang telah melayarinya

Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat teknologi termaju seperti pengkomputeran awan, data besar dan kecerdasan buatan, bahasa pengaturcaraan komputer juga telah dipertingkatkan dan dikemas kini secara berterusan. Sebagai bahasa pengaturcaraan yang dibangunkan oleh Google, bahasa Go (Golang) telah mendapat perhatian dan aplikasi yang semakin meluas kerana kesederhanaan, kebolehbacaan, kecekapan dan keupayaannya untuk menggunakan sepenuhnya CPU berbilang teras. Dalam bahasa Go, memproses data Json adalah tugas yang sangat biasa. Jadi, bagaimana untuk menukar Json dalam bahasa Go? Jawapan terperinci akan diberikan di bawah.

Pertama sekali, anda perlu memahami pustaka pemprosesan JSON dalam golang Ia menyediakan dua kaedah, pengekodan dan penyahkod, yang digunakan untuk melengkapkan pengekodan dan penyahkodan data Json masing-masing master ialah penggunaan kaedah penyahkod.

Dalam perpustakaan standard golang encoding/json, fungsi yang dipanggil Unmarshal() disediakan Prototaip fungsi adalah seperti berikut

func Unmarshal(data []byte, v interface{}) error
Salin selepas log masuk

Penerangan parameter:

  • . data []byte: Data JSON untuk dinyahkodkan;
  • v interface{}: Gunakan nama pembolehubah ahli dalam jenis struktur untuk memetakan kunci dalam JSON untuk menyambungkan data JSON struktur. Badan diproses khas dengan memberikan kunci tertentu dalam JSON; pelanggan dengan Pelanggan menyediakan data JSON, yang mengandungi pasangan nilai kunci rentetan
  • , pasangan nilai kunci integer
dan pasangan nilai kunci titik terapung

. Sekarang kita perlu menyahkod data JSON ini dan menyimpannya dalam pembolehubah struktur.

Struktur definisi adalah seperti berikut: "name":"Wade""age":33"score":98.5Nyahkod data JSON dalam fungsi main(), yang boleh dilengkapkan dengan satu baris kod:

Uraikan kod di atas :
type Player struct {
    Name  string  `json:"name"`
    Age   int     `json:"age"`
    Score float64 `json:"score"`
}
Salin selepas log masuk

func main() {
    jsonStr := `{"name":"Wade","age":33,"score":98.5}`
    var player Player
    json.Unmarshal([]byte(jsonStr), &player)
    fmt.Println(player) // 输出:{Wade 33 98.5}
}
Salin selepas log masuk
: Rentetan Json yang perlu dihuraikan

    : mentakrifkan pembolehubah jenis
  • ; jsonStr
  • : Nyahkod Json kepada
  • pembolehubah; var player PlayerPlayer
  • : Format dan output dalam jenis
  • . json.Unmarshal()player
  • Tidak sukar untuk mencari daripada kod di atas bahawa proses penyahkodan JSON dalam bahasa Go adalah sangat mudah dan mudah dibaca.
  • fmt.Println(player)Selain itu, jika kita mempunyai struktur yang mengandungi berbilang kejadian jenis Pemain, kita boleh mengendalikannya seperti berikut: Player
Dalam kod di atas, dalam struktur Pasukan Pembolehubah ahli Ahli ialah susunan Pemain Kami boleh menggunakan ciri ini untuk menghuraikan data JSON yang kompleks.

Sehingga di sini, kami telah memperkenalkan cara bahasa Go melaksanakan penukaran JSON, tetapi ini bukan sahaja. Dalam pembangunan sebenar, kita mungkin menghadapi beberapa struktur bersarang JSON yang sangat kompleks, seperti sarang berbilang lapisan, tatasusunan tahap yang sama, dll. Pada masa ini, kita perlu memahami dengan mendalam pustaka penyahkodan JSON dan menggunakannya secara fleksibel.

Ringkasan:
type Team struct {
    ID      int      `json:"id"`
    Name    string   `json:"name"`
    Members []Player `json:"members"`
}

func main() {
    jsonStr := `{"id":1,"name":"Lakers","members":[{"name":"Wade","age":33,"score":98.5},{"name":"James","age":36,"score":100}]}`

    var team Team
    json.Unmarshal([]byte(jsonStr), &team)
    fmt.Printf("%+v\n", team)
}
Salin selepas log masuk

Melalui artikel ini, kami telah mempelajari cara menggunakan pustaka penyahkodan JSON untuk melengkapkan penukaran Json dalam bahasa Go. Kami juga menggunakan kod sampel untuk menunjukkan proses operasi yang terperinci. Ini adalah fungsi yang sangat asas dan biasa digunakan Dalam pengaturcaraan sebenar, kita sering menghadapi dan menggunakan situasi ini. Menguasai operasi asas ini akan sangat membantu kami dalam menyelesaikan kerja pengaturcaraan dengan lebih cekap.

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara melakukan penukaran Json dalam bahasa Go. 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