從 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中文網其他相關文章!