從 ASMX Web 服務產生 JSON 回應
您正在使用 ASMX Web 服務,並需要它傳回 JSON 資料而不是預設的 XML。 即使設定了 ResponseFormat
屬性後,您仍然會獲得 XML。
解決方案是繞過標準的 ASMX 序列化過程,將 JSON 直接寫入 HTTP 回應。 這需要將 WebMethod 的回傳類型變更為 void
.
以下是修改程式碼的方法:
<code class="language-csharp"> [System.Web.Script.Services.ScriptService] public class WebServiceClass : System.Web.Services.WebService { [WebMethod] public void WebMethodName() { string jsonString = "{property: value}"; // Your JSON string here HttpContext.Current.Response.ContentType = "application/json"; HttpContext.Current.Response.Write(jsonString); } }</code>
修改後的程式碼直接輸出 JSON 字串,避免了預設 ASMX 序列化產生的 XML 包裝器。 請記得將 "{property: value}"
替換為您的實際 JSON 資料。 設定 ContentType
標頭可確保客戶端將回應正確解釋為 JSON。
以上是如何從 ASMX WebMethod 輸出 JSON 而不是 XML?的詳細內容。更多資訊請關注PHP中文網其他相關文章!