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

Bagaimana untuk bersiri enums sebagai rentetan menggunakan JavaScriptSerializer?

Barbara Streisand
Lepaskan: 2025-01-29 09:31:08
asal
905 orang telah melayarinya

How to Serialize Enums as Strings Using JavaScriptSerializer?

JavaScriptSerializer Enumerated String Serialization Kaedah Penjelasan Terperinci

Apabila menggunakan JavaScriptSerializer bersiri objek yang mengandungi atribut penghitungan, hasil JSON mungkin mengandungi nilai integer dan bukannya perwakilan rentetan. Untuk menyelesaikan masalah ini, anda boleh mempertimbangkan kaedah berikut:

penukar berasaskan atribut

Gunakan atribut untuk menghiasi atribut definisi atau objek, dan tentukan jenis

. Ini akan menunjukkan bahawa program bersiri menukarkan nilai penghitungan kepada rentetan: [JsonConverter] StringEnumConverter

penukar jSonserializer
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }
Salin selepas log masuk

atau, tambah terus <或者> ke

:

StringEnumConverter JsonSerializer Konfigurasi Global <全>

anda juga boleh mengkonfigurasi penukar dalam konfigurasi global dalam penghitungan atau
serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
Salin selepas log masuk

<枚> Penghitungan: JsonConverter

  • jsonconveter:

      [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }
    Salin selepas log masuk
  • pilihan lain <<> <小> lialingcase:

    Gunakan fungsi pembinaan
      JsonConvert.SerializeObject(MyObject, new Newtonsoft.Json.Converters.StringEnumConverter());
    Salin selepas log masuk
    untuk mengawal rentetan rentetan dan sama ada untuk menerima nombor tersebut. Penyesuaian atribut:

    Anda boleh menggunakan atribut

    dan menggunakan
      untuk menghiasi penukar.

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