2010-10-16 2 views
0

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

[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?

ответ

0

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

Установить fiddler. Это спасет вас.

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

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

0

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

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

0

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

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

{"GetDetailResult":{"Address":null,"MainPhotoURL":null,"Photos":[]}} 
Смежные вопросы