【发布时间】:2009-07-13 19:27:20
【问题描述】:
我看到了一个类似的问题,但它没有解决我的问题。我在 ASMX 文件中有一个 JSON Web 服务;
web方法的代码
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetUserRoles(string JSONUserCode)
{
string retRoles = string.Empty;
List<JSONRole> roles = new List<JSONRole>();
{... I Populate the roles here ...}
DataContractJsonSerializer serializer = new
DataContractJsonSerializer(roles.GetType());
MemoryStream ms = new MemoryStream();
serializer.WriteObject(ms, roles);
string jsonString = Encoding.Default.GetString(ms.ToArray());
ms.Close();
return jsonString;
}
这会正确格式化 List,但会将整个返回值包装在 XML 中。回复如下:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://formshare.com/">
[{"Name":"Accounts Payable"},{"Name":"Payroll"}]
</string>
您可以通过单击此链接查看您自己的回复:
http://dev.formshare.gologictech.com/JSON/JSONService.asmx/GetUserRoles?JSONUserCode=1234
我只需要回复:
[{"Name":"Accounts Payable"},{"Name":"Payroll"}]
有什么想法吗?感谢您的帮助。
【问题讨论】: