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