JSON.NET Deserialisasi dan Sifat Antara Muka: Penyelesaian Praktikal
Menyahsiri data JSON ke dalam objek C# menggunakan JSON.NET boleh menimbulkan kesukaran apabila berurusan dengan sifat jenis antara muka. Ralat biasa timbul: JSON.NET tidak boleh membuat seketika antara muka.
Penyelesaian terletak pada memanfaatkan parameter kelas konkrit dalam pembina kelas anda. Ini membimbing JSON.NET ke arah kelas konkrit yang betul semasa penyahserikatan.
Ini contohnya:
<code class="language-csharp">public class Visit : IVisit { // Constructor crucial for JSON.NET to identify concrete types for deserialization. public Visit(MyLocation location, Guest guest) { Location = location; Guest = guest; } public long VisitId { get; set; } public ILocation Location { get; set; } public DateTime VisitDate { get; set; } public IGuest Guest { get; set; } }</code>
Dengan memasukkan MyLocation
dan Guest
(kelas konkrit melaksanakan ILocation
dan IGuest
masing-masing) dalam pembina, JSON.NET boleh berjaya memetakan data JSON kepada jenis yang sesuai, mengatasi masalah instantiasi antara muka. Pendekatan ini membolehkan anda mengekalkan fleksibiliti antara muka sambil memastikan penyahserilangan lancar.
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Menyahserialisasikan Hartanah Tahap Antara Muka JSON dalam JSON.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!