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"},
]
}
(単純な引用符を二重引用符に置き換え、[ の前と ] の後の二重引用符を削除しました)。
したがって、返される形式に問題があると結論付けました。問題は、この Web サービスを変更できないことです。「不適切な形式の」json 構造を使用するにはどうすればよいですか?
ありがとうございます、
よろしく
編集:
Web サービスの署名は次のとおりです。
[OperationContract]
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.WrappedResponse,
ResponseFormat = WebMessageFormat.Json)]
string ReturnTheList();