如何识别JSON响应?

时间:2010-10-16 09:48:40

标签: c# wcf web-services json rest

我正在开发支持REST的WCF服务。我在界面中使用以下代码。

[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网络服务&amp;还有JSON。我不知道在上面的情况下我是否得到JSON响应或其他什么?如何确定上述响应是JSON响应?

3 个答案:

答案 0 :(得分:0)

如果您有一个有效的json对象,请下载文件并查看内部。最后使用jQuery.parseJSON解析。

浏览器建议您下载,因为它收到的内容类型不明白,与内容没有太多关系。浏览器的责任不是决定它是否是有效的json而是调用代码。

答案 1 :(得分:0)

大多数当前浏览器在看到媒体类型的应用程序/ json时都不呈现Json。您将遇到许多媒体类型的此问题。我的建议是停止尝试使用Web浏览器进行调试。

安装fiddler。它会救你。

Fiddler是一个使用HTTP的调试工具。您将能够准确地看到正在传输的内容以及从服务中传输的内容,您将能够创建POST请求以测试您的服务。

这需要一些时间来习惯,但如果你正在使用HTTP做任何工作,这是值得的。

答案 2 :(得分:0)

我是第二个提琴手,因为它支持JSON,但是对于可以通过GET请求调用服务的情况,Chrome会在浏览器中显示结果。

在调用WCF服务后将其复制出Chrome标签

{"GetDetailResult":{"Address":null,"MainPhotoURL":null,"Photos":[]}}