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
Susan Sarandonasal
2025-01-26 16:31:11254semak imbas

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>

dan struktur contoh JSON:

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

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>

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!

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