首页 >后端开发 >C++ >如何从 ASMX WebMethod 输出 JSON 而不是 XML?

如何从 ASMX WebMethod 输出 JSON 而不是 XML?

DDD
DDD原创
2025-01-15 10:52:43464浏览

How Can I Output JSON Instead of XML from an ASMX WebMethod?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn