日期:2014-05-17  浏览次数:21135 次

webservice返回Json情况
 <?xml version="1.0" encoding="utf-8" ?> 
  <string xmlns="http://tempuri.org/">{ "state": { "return": "true", "info": "", "code": "" } }</string> 
以上是webservice通常返回的XML格式
现在要求返回如下:
{ "state": { "return": "true", "info": "", "code": "" } }
就是点击调用webservice直接返回的页面显示
{ "state": { "return": "true", "info": "", "code": "" } } 
调用的时候不用JS调用,而是通过http://localhost/INA_WebService/Service.asmx/login直接调用

------解决方案--------------------
启用(取消前面的注释)[System.Web.Script.Services.ScriptService]
[WebMethod]的特性 [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 这句都可以不要,这句加上了返回的也仍然是xml格式。
关键在下面的设置。
JQuery.ajax({ 
url: "WebService.asmx/test2", 
type: "POST", 
dataType: "json", 
contentType: "application/json; charset=utf-8", 
data: "{}",  //这个不能少 如果带参数要先用encodeURI编码
success: function(json) { 
alert(json); 
}

});  

jQuery调用WebService返回JSON数据
------解决方案--------------------
改你的接口,返回json内容就行了,跟返回xml没什么区别,如果改不了接口,就自己解析吧
------解决方案--------------------
你这个客户真可以
要么你妥协   给他个新链接   直接返回json
要么客户妥协   接受你的webservices 返回的数据
你感觉哪个可能性大?

------解决方案--------------------
在构建和使用Web Service时,主要用到以下几个关键的技术和规则:
  1.XML:描述数据的标准方法.
  2.SOAP:简单对象访问协议.
  3.WSDL:Web服务描述语言.
  4.UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
------解决方案--------------------
或者你写个库  让客户去调用  就简单的一个 toJson 方法 
------解决方案--------------------

[WebMethod]
public void HelloWorld()
{
Context.Response.Write("{ \"state\": { \"return\": \"true\", \"info\": \"\", \"code\": \"\" } }");
Context.Response.End();
}

------解决方案--------------------
http://blog.csdn.net/fangxinggood/article/details/6279233