將 ASMX 檔案輸出轉換為 JSON
問題:
儘管使用了 ResponseFormat 配置,但 ASMX Web 服務產生的輸出仍然是 XML,而不是所需的 JSON 格式。
程式碼隱藏:
<code class="language-csharp">[System.Web.Script.Services.ScriptService] public class _default : System.Web.Services.WebService { [WebMethod] [ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)] public string[] UserDetails() { return new string[] { "abc", "def" }; } }</code>
解:
要輸出不含 XML 包裝的純 JSON,請依下列方式修改程式碼:
程式碼隱藏:
<code class="language-csharp">[System.Web.Script.Services.ScriptService] public class _default : System.Web.Services.WebService { [WebMethod] public void UserDetails() { HttpContext.Current.Response.Write("{property: value}"); } }</code>
說明:
將 WebMethod 的回傳類型變更為 void,並使用 Response.Write 方法直接將 JSON 字串寫入 HttpResponse。此方法提供不含 XML 包裝的純 JSON 回應。
以上是如何將 ASMX Web 服務 XML 輸出轉換為純 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!