WCF 数据服务是否返回无效的 JSON?

发布于 2024-08-24 05:36:09 字数 529 浏览 5 评论 0原文

我正在升级一个使用 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 就会清晰地解析。

有没有人遇到过这个问题,并且有解决办法或解决方法?

谢谢。

I'm upgrading an application that was using jQuery 1.3.2 to consume a WCF Data Service (a.k.a. ADO.NET Data Services, a.k.a. Astoria) to use the latest version of jQuery (1.4.2). My application is now failing, with JSON parsing errors, because jQuery 1.4 now uses stricter JSON parsing.

I've run the JSON returned by my data service through various JSON validators, and the problem seems to be related to single-quote escaping in URI strings. My JSON looks like the following:

{
    "d" : {
        "__metadata": {
            "uri": "http://foo.com/Services/Foo.svc/Foos(guid\'g17a49d5-fd66-4b2d-bd5f-e6245ec3e268\')" } } }

(I've modified it to remove unnecessary information.)

The parsing error is with the '\' escaping of single-quotes. If I remove the escape character, the JSON parses cleanly.

Has anyone had this problem, and have a fix or a work-around?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仙女山的月亮 2024-08-31 05:36:09

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

This is a bug in data services in .NET 3.5 SP1 & subsequent update. The issue will be fixed in the in .NET 4.0 release.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文