Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk bersiri enums sebagai rentetan menggunakan JavaScriptSerializer dan json.net?

Bagaimana untuk bersiri enums sebagai rentetan menggunakan JavaScriptSerializer dan json.net?

Linda Hamilton
Linda Hamiltonasal
2025-01-29 09:26:10122semak imbas

How to Serialize Enums as Strings Using JavaScriptSerializer and Json.NET?

javascriptserializer dan json.net penghitungan bersiri ke rentetan

Apabila menggunakan objek bersiri JavaScriptSerializer yang mengandungi atribut penghitungan, tingkah laku lalai adalah output nilai integer nilai yang disenaraikan dan bukan perwakilan rentetannya. Artikel ini membincangkan kaedah menyesuaikan tingkah laku ini dan mendapatkan rentetan penghitungan dalam output JSON.

Penyelesaian Menggunakan json.net

json.net menyediakan penyelesaian yang lebih mudah melalui atribut jsonconverternya dan dibina -dalam jenis stringenumconverter. Dengan menggunakan atribut kepada atribut penghitungan yang berkaitan:

... anda boleh menentukan penghitungan untuk bersiri sebagai rentetan. Untuk maklumat lanjut mengenai StringEnumConverter, lihat dokumennya.

<code class="language-csharp">using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }</code>
pilihan lain

Terdapat kaedah lain yang boleh mengkonfigurasi penukar ini global:

Definisi epolid: Tambahkan atribut ke lif itu sendiri untuk memastikan bahawa semua contoh penghitungan bersiri ke dalam rentetan.

jSonserializer:
    termasuk penukar dalam jSonserializer:
  • Kaedah ini menggunakan penukar kepada semua penghitungan yang dihadapi dalam proses siri.
  • jsonconveter:
  • Kaedah lain adalah menggunakan kelas JSONCONVER:
<code class="language-csharp">serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());</code>

selanjutnya disesuaikan
  • StringenumConverter membolehkan kastam lain, seperti mengawal huruf kecil rentetan penghitungan dan sama ada untuk menerima nilai. Ini boleh dilaksanakan melalui StringEnumConverter (NaMingStrategy, Boolean).

Atas ialah kandungan terperinci Bagaimana untuk bersiri enums sebagai rentetan menggunakan JavaScriptSerializer dan json.net?. 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