将 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中文网其他相关文章!