首頁 >後端開發 >C++ >如何從 ASMX Web 服務輸出純 JSON 回應?

如何從 ASMX Web 服務輸出純 JSON 回應?

DDD
DDD原創
2025-01-15 09:56:43709瀏覽

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

從 ASMX Web 服務產生純 JSON 回應

ASMX Web 服務預設回傳 XML 資料。 然而,許多應用程式需要 JSON 輸出。雖然使用 ScriptMethod(ResponseFormat = ResponseFormat.Json) 看起來像是一個解決方案,但它實際上將 JSON 包裝在 XML 容器中。

要實現純 JSON 回應,請避免使用 ResponseFormat 屬性,而是直接將 JSON 字串寫入 HttpResponse 物件。 這種方法消除了 XML 包裝器並提供乾淨的 JSON 資料。 修改您的 WebMethod 以使用 void 傳回類型並直接寫入 JSON 字串:

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

注意添加HttpContext.Current.Response.ContentType = "application/json";。這條線至關重要;它設定正確的內容類型標頭,確保客戶端將回應正確解釋為 JSON。 此方法允許從 ASMX 建立純 JSON 回應,而無需外部程式庫或工具。

以上是如何從 ASMX Web 服務輸出純 JSON 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn