2010-10-16 70 views
0

我正在开发启用REST的WCF服务。我在界面中使用下面的代码。如何识别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 Web服务&也是JSON。我不知道是否在上述情况下,我得到了JSON响应或其他东西?我如何确定上述响应是JSON响应?

回答

0

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

安装fiddler。它会拯救你。

Fiddler是一款用于使用HTTP的调试工具。您将能够确切地看到传输到您的服务和从您的服务传输的内容,并且您将能够创建POST请求以测试您的服务。

它需要一点时间才能习惯,但如果您正在使用HTTP进行任何工作量,这是非常值得的。

0

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

浏览器因为收到内容类型而下载的内容不理解,与内容没有太大关系。浏览器的责任不在于决定其有效的json而是调用代码。

0

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

调用WCF服务

{"GetDetailResult":{"Address":null,"MainPhotoURL":null,"Photos":[]}} 
后仅仅复制了这一点,一个Chrome标签