Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Memasukkan Sifat Kamus dalam Pensirian Objek Induk dengan Json.Net?

Bagaimanakah Saya Boleh Memasukkan Sifat Kamus dalam Pensirian Objek Induk dengan Json.Net?

DDD
Lepaskan: 2025-01-17 11:26:09
asal
772 orang telah melayarinya

How Can I Include Dictionary Properties in Parent Object Serialization with Json.Net?

Lanjutkan siri objek induk menggunakan Json.Net untuk memasukkan atribut kamus

Apabila siri objek melibatkan struktur data yang kompleks seperti kamus, sifat ini mungkin perlu disertakan dalam perwakilan JSON bagi objek induk.

Sebagai contoh, kelas yang mengandungi kamus:

<code>public class Test
{
    public string X { get; set; }

    public Dictionary<string, string> Y { get; set; }
}</code>
Salin selepas log masuk

Output JSON yang dijangkakan ialah:

<code>{
    "X" : "value",
    "key1": "value1",
    "key2": "value2"
}</code>
Salin selepas log masuk

di mana kekunci kamus disertakan sebagai sebahagian daripada objek induk.

Untuk Json.Net 5.0.5 dan ke atas, penyelesaian mudah ialah menggunakan atribut [JsonExtensionData]:

<code>public class Test
{
    public string X { get; set; }

    [JsonExtensionData]
    public Dictionary<string, object> Y { get; set; }
}</code>
Salin selepas log masuk

Apabila kamus ditandakan dengan atribut ini, kunci dan nilainya akan disertakan dalam perwakilan JSON bagi objek induk semasa penyirian. Pendekatan ini juga dilanjutkan kepada penyahserikatan, di mana atribut JSON yang tidak dapat dipadankan akan disimpan dalam kamus.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Sifat Kamus dalam Pensirian Objek Induk dengan Json.Net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan