Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar Rentetan UTF-8 kepada Tatasusunan Byte untuk JSON Unmarshaling dalam Go?

Bagaimana untuk Menukar Rentetan UTF-8 kepada Tatasusunan Byte untuk JSON Unmarshaling dalam Go?

Patricia Arquette
Lepaskan: 2024-10-30 13:27:04
asal
397 orang telah melayarinya

How to Convert UTF-8 Strings to Byte Arrays for JSON Unmarshaling in Go?

Menukar Rentetan UTF-8 kepada Tatasusunan Byte untuk JSON Unmarshaling

Untuk menyahmarshal rentetan JSON, seseorang mesti menyediakan tatasusunan bait ([]bait) sebagai input kepada fungsi yang ditetapkan. Artikel ini meneroka kaedah untuk menukar rentetan UTF-8 kepada []bait untuk tujuan ini.

Kaedah 1: Penukaran Jenis Terus

The Go bahasa membenarkan penukaran terus rentetan kepada []bait menggunakan hantaran jenis mudah:

s := "some text"
b := []byte(s) // b is of type []byte
Salin selepas log masuk

Kaedah ini dibenarkan oleh spesifikasi bahasa, di mana ia menyatakan bahawa menukar rentetan kepada []bait menghasilkan kepingan yang mengandungi bait individu rentetan.

Kaedah 2: Menggunakan io.Reader dengan json.NewDecoder()

Sebagai alternatif, io.Reader boleh digunakan dengan json.NewDecoder(). io.Reader yang disediakan akan membaca daripada rentetan tanpa membuat salinan, mengoptimumkan proses:

s := `{"somekey":"somevalue"}`

var result interface{}
err := json.NewDecoder(strings.NewReader(s)).Decode(&result)
Salin selepas log masuk

Kaedah ini mengelakkan overhed menyalin kandungan rentetan ke [ ]bait, menjadikannya lebih baik untuk teks JSON yang lebih besar.

Nota: Untuk rentetan JSON yang kecil, penukaran jenis langsung menggunakan []bait ialah masih merupakan pilihan yang berdaya maju dengan kesan prestasi yang boleh diabaikan.

Kesimpulan

Artikel ini menunjukkan dua kaedah untuk menukar rentetan UTF-8 kepada []bait untuk JSON unmarshaling: cast jenis langsung dan menggunakan io.Reader dengan json.NewDecoder(). Kaedah yang sesuai untuk digunakan bergantung pada kes penggunaan dan saiz data tertentu.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan UTF-8 kepada Tatasusunan Byte untuk JSON Unmarshaling dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan