【问题标题】:Does WCF Data Services return invalid JSON?WCF 数据服务是否返回无效的 JSON?
【发布时间】:2010-03-10 16:54:35
【问题描述】:

我正在升级一个使用 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 jquery json wcf-data-services


    【解决方案1】:

    这是 .NET 3.5 SP1 和后续更新中的数据服务中的错误。该问题将在 .NET 4.0 版本中得到修复。

    【讨论】:

    • 感谢您的回复,迈克。通过让我的代码恢复到 jQuery 在 1.4 之前使用的基于 eval 的 JSON 解析方法,我暂时解决了这个问题。一旦我们将应用程序移至 .NET 4.0,我将期待撤消该更改。
    • 有一个针对 .NET 3.5 的热修复(ADO.NET Data Services Update for .NET Framework 3.5 SP1 - Refresh)。看到这个:blogs.msdn.com/b/astoriateam/archive/2010/05/08/…
    猜你喜欢
    • 2014-06-14
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多