Как определить ответ JSON? - PullRequest
0 голосов
/ 16 октября 2010

Я разрабатываю службу WCF с поддержкой REST. Я использую следующий код внутри интерфейса.

[OperationContract]
//[WebGet]
[WebInvoke(Method = "GET",       
ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
List<String> GetProjects();

Я хочу, чтобы метод возвращал ответ JSON. Я передаю параметр через URL следующим образом.

http://localhost:51565/RestWebService/Search.svc/GetProjects

Теперь, когда я использую вышеуказанный URL в адресной строке, браузер спрашивает меня о загрузке файла. Я новый веб-сервис REST, а также JSON. Я не знаю, получаю ли я в ответе JSON ответ или что-то еще? Как я могу определить, что приведенный выше ответ является ответом JSON?

Ответы [ 3 ]

0 голосов
/ 16 октября 2010

Большинство текущих браузеров не отображают Json, когда видят приложение медиа-типа / json. Вы столкнетесь с этой проблемой со многими типами носителей. Я предлагаю просто прекратить попытки отладки с помощью веб-браузера.

Установить Скрипач . Это спасет вас.

Fiddler - инструмент отладки для работы с HTTP. Вы сможете точно видеть, что передается на и с вашего сервиса, и вы сможете создавать POST-запросы для тестирования вашего сервиса.

Требуется некоторое время, чтобы привыкнуть, но оно того стоит, если вы выполняете какую-либо работу с HTTP.

0 голосов
/ 07 июля 2011

Я второй Fiddler для его поддержки JSON, но для случаев, когда вы можете вызвать службу с помощью запроса GET, тогда Chrome будет отображать результат в браузере просто отлично.

Просто скопировал это на вкладку Chrome послевызов службы WCF

{"GetDetailResult":{"Address":null,"MainPhotoURL":null,"Photos":[]}}
0 голосов
/ 16 октября 2010

Загрузите файл и загляните внутрь, если у вас есть действительный объект json.В конце концов, выполните синтаксический анализ, используя jQuery.parseJSON .

Браузер предлагает вам загрузить, поскольку он получил тип контента, который не понимает, не имеет слишком много общего с контентом.Браузер принимает решение не о том, является ли он действительным json, а о вызывающем коде.

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