Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah JSON.NET Mengendalikan Data yang Hilang Apabila Menyahseri JSON kepada C#?

Bagaimanakah JSON.NET Mengendalikan Data yang Hilang Apabila Menyahseri JSON kepada C#?

Susan Sarandon
Lepaskan: 2025-01-26 16:31:11
asal
229 orang telah melayarinya

How Does JSON.NET Handle Missing Data When Deserializing JSON to C#?

Menyahseri data JSON kepada C# menggunakan JSON.NET: Mengendalikan data yang hilang

Apabila menyahsiri data JSON ke dalam objek C#, anda sering menghadapi situasi di mana struktur JSON mungkin tidak sentiasa mengandungi semua sifat yang ditakrifkan dalam kelas sasaran. Untuk mengendalikan situasi ini dengan cekap, JSON.NET menyediakan pilihan untuk mengendalikan data yang hilang.

Pertimbangkan kelas C# berikut:

<code class="language-c#">public class MyAccount
{
    // ... (为简洁起见省略属性)
}</code>
Salin selepas log masuk

dan struktur contoh JSON:

<code class="language-json">{
    "givenname": ["Robert"],
    "passwordexpired": "20091031041550Z",
    "accountstatus": ["active"],
    "accountstatusexpiration": ["20100612000000Z"],
    // ... (为简洁起见省略其他属性)
}</code>
Salin selepas log masuk

Untuk menyahsiri struktur JSON ini menjadi contoh MyAccount dan mengendalikan sifat yang hilang, anda boleh menggunakan baris kod berikut:

<code class="language-c#">var rootObject = JsonConvert.DeserializeObject<MyAccount>(jsonString);</code>
Salin selepas log masuk

JSON.NET secara automatik akan mengisi sifat dalam MyAccount dengan nilai yang sepadan daripada struktur JSON. Untuk sebarang sifat yang hilang, nilainya ditetapkan kepada nilai lalainya (contohnya, nilai lalai untuk jenis rujukan adalah nol).

Nota tambahan:

  • Pertimbangkan untuk menggunakan pengesahan data untuk memastikan atribut yang diperlukan terdapat dalam struktur JSON.
  • Proses penyahsirilan boleh disesuaikan menggunakan atribut JsonConverter untuk mentakrifkan logik pensirilan dan penyahsiran tersuai.
  • Untuk butiran lanjut tentang pengendalian data yang hilang dan konsep pesirilan lanjutan lain, lihat dokumentasi Json.NET.

Atas ialah kandungan terperinci Bagaimanakah JSON.NET Mengendalikan Data yang Hilang Apabila Menyahseri JSON kepada C#?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan