当前位置:编程学习 > C#/ASP.NET >>

.net 写的webservice如何返回json数据

如何 .net 写的webservice如何返回json数据 ,求大神指教 --------------------编程问答-------------------- using System.Web.Script.Serialization;

 JavaScriptSerializer serializer = new JavaScriptSerializer();
  string obj = Serializer.Serialize(.netobject); --------------------编程问答-------------------- json序列化和反序列化 --------------------编程问答-------------------- json不就是String嘛

--------------------编程问答-------------------- 首先  json 是一个字符串,其次请参考如下文档来实现。
http://www.cnblogs.com/xfrog/archive/2010/04/07/1706754.html --------------------编程问答-------------------- 如果js调用,直接用Ajax Enabled WCF Service模板。 --------------------编程问答--------------------
http://www.cnblogs.com/xfrog/archive/2010/04/07/1706754.html
http://www.oschina.net/p/json.net --------------------编程问答-------------------- 其实返回一个json格式字符串,在前台转换一下就行。可以用jquery的$.parseJSON() --------------------编程问答-------------------- webservice返回的数据包含头文件的。你可以返回字符串,这个字符串是JSON序列化的。
客户端接收这个字符串后进行反序列化。 --------------------编程问答--------------------                     Context.Response.Write(JSON字符串);
                                      Context.Response.End(); --------------------编程问答-------------------- http://blog.csdn.net/thinkscape/article/details/7595833 --------------------编程问答-------------------- 这个网上有很多吧,JavaScriptSerializer 这个就不错 wcf中我就用DataContractJsonSerializer 类 操作json类型数据 --------------------编程问答-------------------- 其实json只是一种contenttype(application/json) 参考:http://baike.baidu.com/view/1547292.htm
try
public class WebService1 : System.Web.Services.WebService
    {
        [WebMethod]
        [ScriptMethod(UseHttpGet=true ,ResponseFormat = ResponseFormat.Json)]
        public void HelloWorld()
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            Context.Response.Clear();
            Context.Response.ContentType = "application/json";           
            HelloWorldData data = new HelloWorldData();
            data.Message = "HelloWorld";
             Context.Response.Write(js.Serialize(data));


        }
    }

    public class HelloWorldData
    {
       public String Message;
    }
--------------------编程问答-------------------- 这是很坑爹的事情,使用沉重的RPC调用,却来偷运轻量的json。

你只要随便提供一个轻量级的网页请求,例如
     
       http://www.abc.com/site1/service1.ashx?xx=2342

就行了。


如果你直接控制json,那么web service可以休矣。



10年前web service火起来,因为有了统一的协议用于自动发现服务,和(微软)自动产生客户端代理class。这些都被json轻松地给消除了。 --------------------编程问答-------------------- 比如说你可以写
var result = new WebClient().DownloadString("http://www.abc.com/site1/service1.ashx?xx=2342");


就得到了返回的json字符串。
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,