Menyelesaikan masalah Pensirilan JSON.NET dalam WebAPI
Masalah yang kerap dihadapi apabila menggunakan JSON.NET dengan API Web melibatkan respons yang dibalut dengan petikan berganda secara tidak dijangka, dengan petikan dalaman terlepas. Ini selalunya berpunca daripada penggunaan terus JsonConvert.SerializeObject
. Penyelesaiannya adalah untuk mengelakkan serialisasi eksplisit.
Sebaliknya:
<code class="language-csharp">public string GetFoobars() { var foobars = ...; return JsonConvert.SerializeObject(foobars); }</code>
Kembalikan objek terus:
<code class="language-csharp">public IEnumerable<Foobar> GetFoobars() { var foobars = ...; return foobars; }</code>
Dengan mengetepikan siri eksplisit, pengawal API Web memanfaatkan mekanisme siri terbina dalamnya (sama ada XML atau JSON, ditentukan oleh permintaan pelanggan). Pendekatan ini berkesan menghalang petikan berganda yang tidak diingini dan melepaskan isu watak.
Atas ialah kandungan terperinci Kenapa respons webapi siri JSON.net saya disertakan dalam petikan berganda, dan bagaimana saya boleh memperbaikinya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!