Menyelesaikan rujukan pekeliling dalam siri JSON:
Semasa cuba mengembalikan data JSON, saya menemui mesej ralat: "Rujukan pekeliling dikesan semasa mensiri objek jenis 'SubSonic.Schema.DatabaseColumn'". Isu ini berpunca daripada kewujudan rujukan bulat dalam hierarki objek, yang tidak serasi dengan penyeri bersiri JSON.
Untuk menyelesaikan masalah ini, adalah disyorkan untuk meminimumkan data yang dihantar dalam respons JSON dengan memilih atribut yang diperlukan sahaja. Daripada mendapatkan semula keseluruhan objek, pertimbangkan untuk mencipta model paparan yang mengandungi hanya sifat yang diperlukan untuk respons JSON. Contohnya:
<code class="language-csharp">public JsonResult GetEventData() { var data = Event.Find(x => x.ID != 0); var viewData = new EventViewData { PropertyINeed1 = data.PropertyINeed1, PropertyINeed2 = data.PropertyINeed2 }; return Json(viewData); }</code>
Pendekatan ini mengurangkan saiz objek JSON dan menghapuskan rujukan bulat. Untuk hierarki objek yang lebih kompleks, AutoMapper boleh digunakan untuk memetakan secara automatik antara objek DTO dan melihat objek untuk kecekapan yang lebih tinggi.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Rujukan Pekeliling Apabila Mensiri Data JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!