Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyelesaikan Pengecualian 'Gelung Rujukan Kendiri Dikesan' Apabila Mensiri Senarai Objek dengan JSON.Net?

Bagaimana untuk Menyelesaikan Pengecualian 'Gelung Rujukan Kendiri Dikesan' Apabila Mensiri Senarai Objek dengan JSON.Net?

Barbara Streisand
Lepaskan: 2024-12-28 07:56:10
asal
677 orang telah melayarinya

How to Resolve the

Pengecualian "Gelung Rujukan Diri Dikesan" dengan JSON.Net

Apabila Mensiri Senarai Objek, JSON.Net boleh menghadapi pengecualian "Gelung Rujukan Kendiri Dikesan". Ralat ini berlaku apabila terdapat rujukan bulat dalam graf objek bersiri.

Masalah Khusus

Coretan kod yang disediakan:

public ActionResult getRouteFromPart(int partId)
{
    List<Route> routes = _routeService.GetRouteByPartType(partId);
    ...
    return this.AdvancedJsonResult(new
    {
        Routes = routes
    }, JsonRequestBehavior.AllowGet);
}
Salin selepas log masuk

melemparkan pengecualian semasa cuba menyusun senarai Laluan objek.

Penyelesaian

Pengecualian menunjukkan bahawa terdapat rujukan bulat dalam graf objek Laluan. Secara khusus, mesej ralat menyebut laluan 'routes[0].incomingLots[0].partNumber.partType.partNumbers'. Ini menunjukkan bahawa terdapat hubungan antara objek Laluan dan objek PartNumber, dan rujukan itu menyebabkan gelung.

Untuk menyelesaikan isu ini, anda boleh melumpuhkan gelung rujukan sendiri semasa bersiri dengan mengkonfigurasi penyeri JSON.Net tetapan seperti berikut:

var settings = new JsonSerializerSettings
{
    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};
Salin selepas log masuk

Tetapan ini mengarahkan JSON.Net untuk mengabaikan rujukan bulat dan meneruskan siri proses.

Mesej Pengecualian Penuh

Self referencing loop detected with type 'System.Data.Entity.DynamicProxies.PartNumber_B135A5D16403B760C3591872ED4C98A25643FD10B51246A690C2F2D977973452'. Path 'routes[0].incomingLots[0].partNumber.partType.partNumbers'.
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Pengecualian 'Gelung Rujukan Kendiri Dikesan' Apabila Mensiri Senarai Objek 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan