我正在升级一个使用 jQuery 1.3.2 来使用 WCF 数据服务(又名 ADO.NET 数据服务,又名 Astoria)的应用程序,以使用最新版本的 jQuery (1.4.2)。我的应用程序现在失败,出现 JSON 解析错误,因为 jQuery 1.4 现在使用更严格的 JSON 解析。
我已通过各种 JSON 验证器运行数据服务返回的 JSON,问题似乎与 URI 字符串中的单引号转义有关。我的 JSON 如下所示:
{
"d" : {
"__metadata": {
"uri": "http://foo.com/Services/Foo.svc/Foos(guid\'g17a49d5-fd66-4b2d-bd5f-e6245ec3e268\')" } } }
(我已对其进行修改以删除不必要的信息。)
解析错误在于单引号的“\”转义。如果我删除转义字符,JSON 就会干净地解析。
有人遇到过这个问题,并有解决办法或解决方法吗?
谢谢。
最佳答案
这是 .NET 3.5 SP1 及后续更新中数据服务中的错误。该问题将在 .NET 4.0 版本中得到修复。
关于.net - WCF 数据服务是否返回无效的 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418787/