首页 >后端开发 >C++ >如何从 ASMX Web 服务输出纯 JSON 响应?

如何从 ASMX Web 服务输出纯 JSON 响应?

DDD
DDD原创
2025-01-15 09:56:43709浏览

How Can I Output Pure JSON Responses from an ASMX Web Service?

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

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