Неверный формат URL в выводе JSON через службу WCF - PullRequest
2 голосов
/ 03 ноября 2010

У меня есть контракт на обслуживание WCF, определенный следующим образом:

[OperationContract]
    [WebGet(
        UriTemplate =
            "HubContent/{language}?apptype={appType}"
        ,
        ResponseFormat = WebMessageFormat.Json)]
    HubResults GetHubContent(string language, string appType);

При реализации этого контракта в сервисе я возвращаю список объектов, который анализируется в JSON. Однако всякий раз, когда одним из свойств объектов является URL-адрес или любая строка, содержащая прямые косые черты, JSON, возвращаемый службой в браузере, избегает прямых косых черт. Так что этот URL: - http://www.example.com/test/site будет выглядеть так

http\/\/www.example.com\/test\/site.

Есть ли что-то, что мне нужно указать, может быть, в договоре, связанном с форматированием, чтобы исправить это?

1 Ответ

5 голосов
/ 04 ноября 2010

Исключая косые черты, вполне допустимо JSON (см. http://json.org/, конструкция "string").Если вы передадите, например,

{"myUrl":"http\/\/www.example.com\/test\/site"}

в любой синтаксический анализатор JSON (например, функцию «eval») JavaScript, значение myUrl будет равно «http://www.example.com/test/site" (оно автоматически уберет косые черты»).).

Или я неправильно понял ваш вопрос? В этом случае, вы можете опубликовать пример JSON, который, по вашему мнению, не работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...