我有一个简单的ASP.NET Web服务。我想要返回一串json作为结果。默认情况下,我的webservice将json结果包装在某个xml中。
例如
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://webservice.streetadvisor.com/">{.... json result in here ... }</string>
Booo。
200, 201, 202, 404, 500
等等?application/json
干杯!
答案 0 :(得分:3)
您可以通过创建.ashx处理程序而不是普通的Web服务来相当轻松地完成此操作 - 但此时您丢失了许多围绕Web服务的基础结构,特别是在结构化中解释来自客户端的数据的任何内容SOAP给你的方式。
以下是creating an RSS feed作为“原始”处理程序的示例,这里是more general tutorial。这并不是特别棘手 - 如果那些对你没有多大帮助,那就去搜索一下ashx吧,你会得到很多点击量。
我不知道从Web服务项目做起来有多容易 - 我只是从一个直接的ASP.NET Web应用程序项目中完成的。它可能“正常工作” - 值得一试。
答案 1 :(得分:2)
有时如果我想要返回JSON,我只需使用.aspx页面:
Response.Clear();
Response.ContentType = "text/javascript";
然后使用.NET Json框架(如1 here)我创建了json,我希望它返回。
答案 2 :(得分:0)
您只需使用
即可[WebMethod]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)]
这对我有用。