Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mensiri/Menyahsiri Sifat JSON.Net sebagai Nilai Daripada Objek?
Json.Net: Mengendalikan Sifat sebagai Nilai Daripada Objek
Apabila menggunakan JSON.Net untuk mewakili objek kompleks, seperti Kereta dan Kelas StringId yang diterangkan dalam pengenalan, kadangkala wajar untuk mensiri/menyahserialisasikan sifat sebagai nilai biasa dan bukannya bersarang objek. Artikel ini menunjukkan dua pendekatan untuk mencapai ini: penukar jenis dan penukar JSON.
Penukar Jenis
Menambah penukar jenis khusus untuk kelas StringId akan membolehkan JSON.Net untuk menukarnya kepada/daripada rentetan semasa siri/penyahserialisasi:
[TypeConverter(typeof(StringIdConverter))] class StringId { public string Value { get; set; } } class StringIdConverter : TypeConverter { // ... (Implement CanConvertFrom, CanConvertTo, ConvertFrom, and ConvertTo) }
Penukar JSON
Sebagai alternatif, penukar JSON menawarkan lebih kawalan ke atas proses penukaran. Dengan menggunakan penukar JSON tersuai pada kelas StringId, logik bersiri dan penyahseriiran boleh ditakrifkan secara eksplisit:
[JsonConverter(typeof(StringIdConverter))] class StringId { public string Value { get; set; } } class StringIdConverter : JsonConverter { // ... (Implement CanConvert, ReadJson, and WriteJson) }
Konfigurasi Penukar Global
Penukar JSON juga boleh ditetapkan secara global. Contohnya, untuk mengendalikan semua sifat jenis StringId sebagai nilai:
JsonConvert.DefaultSettings = () => new JsonSerializerSettings { Converters = { new StringIdConverter() } };
Pertimbangan Tambahan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensiri/Menyahsiri Sifat JSON.Net sebagai Nilai Daripada Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!