我正在尝试使用 jQuery 使用 WCF Web 服务。返回的 Json 数据为:
{
"ListOfPersons":
"[
{'Id':1,'FirstName':'Foo','LastName':'Bar'},
{'Id':2,'FirstName':'Hello','LastName':'World'},
{'Id':3,'FirstName':'Tanks','LastName':'Giving'},
]"
}
这些是我在 Jquery 中使用的功能是:
var url = 'http://path/to/webservice.svc/ReturnTheList';
$.getJSON(url, function (data) {
success: readData(data)
});
function readData(data){
alert(data.ListOfPersons[0].FirstName);
}
问题是警报没有返回任何东西。
而且,如果我将 Json 修改为:
{
"ListOfPersons":
[
{"Id":1,"FirstName":"Foo","LastName":"Bar"},
{"Id":2,"FirstName":"Hello","LastName":"World"},
{"Id":3,"FirstName":"Tanks","LastName":"Giving"},
]
}
(我用双引号替换了单引号,并删除了 [ 之前和 ] 之后的双引号)。
所以我的结论是返回的格式有问题。问题是我不能修改这个网络服务。如何使用“格式错误”的 json 结构?
谢谢,
问候
编辑:
这是 Web 服务签名:
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.WrappedResponse,
ResponseFormat = WebMessageFormat.Json)]
string ReturnTheList();