Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencapai JSON Unmarshal Sensitif Huruf dalam Go?

Bagaimana untuk Mencapai JSON Unmarshal Sensitif Huruf dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-09 07:43:02506semak imbas

How to Achieve Case-Sensitive JSON Unmarshal in Go?

JSON Sensitif Huruf Unmarshal dalam Go

Fungsi json.Unmarshal dalam Go menyediakan cara untuk menyahsiri data JSON ke dalam struct. Secara lalai, Unmarshal melakukan pemadanan tidak sensitif huruf besar-besaran antara kekunci JSON dan nama atau teg medan struktur. Walau bagaimanapun, mungkin terdapat kes yang diingini untuk mempunyai padanan sensitif huruf besar.

Masalah

Andaikan anda menerima data JSON dengan teg seperti "e" dan " E". Anda ingin menyahmarshal objek dengan tag "e" dan abaikan objek dengan "E". Dengan padanan tidak peka huruf besar-kecil lalai, Unmarshal akan menerima kedua-dua teg dan menyahmarshal struct dengan sewajarnya.

Penyelesaian

Malangnya, perpustakaan json standard tidak menyokong case- padanan sensitif untuk Unmarshal. Menurut dokumentasi rasmi:

To unmarshal JSON into a struct, Unmarshal matches incoming object keys to the keys used by Marshal (either the struct field name or its tag), preferring an exact match but also accepting a case-insensitive match.

Oleh itu, tiada cara untuk melumpuhkan padanan tidak peka huruf besar-kecil menggunakan perpustakaan json standard.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai JSON Unmarshal Sensitif Huruf dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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