Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menghasilkan Respons JSON Tulen daripada Perkhidmatan Web ASMX?
Menjana Respons JSON Tulen daripada Perkhidmatan Web ASMX
Perkhidmatan web ASMX, secara lalai, mengembalikan data XML. Walau bagaimanapun, banyak aplikasi memerlukan output JSON. Semasa menggunakan ScriptMethod(ResponseFormat = ResponseFormat.Json)
mungkin kelihatan seperti penyelesaian, ia sebenarnya membungkus JSON dalam bekas XML.
Untuk mencapai respons JSON tulen, elakkan menggunakan sifat ResponseFormat
dan sebaliknya tulis terus rentetan JSON pada objek HttpResponse
. Pendekatan ini menghapuskan pembalut XML dan menyampaikan data JSON yang bersih. Ubah suai WebMethod anda untuk menggunakan void
jenis pulangan dan tulis rentetan JSON secara terus:
<code class="language-csharp">[System.Web.Script.Services.ScriptService] public class WebServiceClass : System.Web.Services.WebService { [WebMethod] public void WebMethodName() { HttpContext.Current.Response.ContentType = "application/json"; //Crucial for correct content type HttpContext.Current.Response.Write("{ \"property\": \"value\" }"); } }</code>
Perhatikan penambahan HttpContext.Current.Response.ContentType = "application/json";
. Baris ini penting; ia menetapkan pengepala jenis kandungan yang betul, memastikan klien mentafsirkan respons dengan betul sebagai JSON. Kaedah ini membolehkan penciptaan respons JSON tulen daripada ASMX tanpa memerlukan perpustakaan atau alatan luaran.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghasilkan Respons JSON Tulen daripada Perkhidmatan Web ASMX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!