.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--------------------编程问答-------------------- 这是很坑爹的事情,使用沉重的RPC调用,却来偷运轻量的json。
{
[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;
}
你只要随便提供一个轻量级的网页请求,例如
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