Службы данных WCF возвращают неверный JSON? - PullRequest
2 голосов
/ 10 марта 2010

Я обновляю приложение, которое использовало jQuery 1.3.2 для использования Службы данных WCF (a.k.a. ADO.NET Data Services, a.k.a. 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\')" } } }

(Я изменил его, чтобы удалить ненужную информацию.)

Ошибка синтаксического анализа - экранирование одинарных кавычек. Если я удаляю escape-символ, JSON анализирует чисто.

Кто-нибудь имел эту проблему, и есть исправление или обходной путь?

Спасибо.

1 Ответ

2 голосов
/ 11 марта 2010

Это ошибка в службах данных в .NET 3.5 SP1 и последующих обновлениях. Эта проблема будет исправлена ​​в выпуске .NET 4.0.

...