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