Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menghasilkan Respons JSON Tulen daripada Perkhidmatan Web ASMX?

Bagaimanakah Saya Boleh Menghasilkan Respons JSON Tulen daripada Perkhidmatan Web ASMX?

DDD
DDDasal
2025-01-15 09:56:43709semak imbas

How Can I Output Pure JSON Responses from an ASMX Web Service?

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!

Kenyataan:
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