【一般处理程序的代码】
public class JsonHandler : IHttpHandler { busers objbusers = new busers(); public void ProcessRequest(HttpContext context) { List<easyUI.Model.musers> userList=new List<easyUI.Model.musers>(); userList=objbusers.GetModelList(""); //获取一个类集合; context.Response.ContentType = "application/json"; context.Response.Cache.SetCacheability(HttpCacheability.NoCache); //禁止浏览器的缓存作用; System.Type type =userList.GetType(); //获取userList的类型 //序列化: System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(type); serializer.WriteObject(context.Response.OutputStream, userList); } public bool IsReusable { get { return false; } } }
//以上代码响应给浏览器的Json为:
但我真正上要的格式是:
-------------------------------------------------------------------------
在PHP中可以这样转换的:
1
2
3
4
5
6
7
|
1. $rs = mysql_query( 'select * from users' ); 2. $result = array (); 3. while ( $row = mysql_fetch_object( $rs )){ 4. array_push ( $result , $row ); 5. } 6. 7. echo json_encode( $result ); |
-------------------------------------------------------------------------
如果熟练Json序列化的,做到这个,应该是容易的事情,对么?小弟刚接触Json,所以不知道怎样处理好,特发帖子请教一下!望有心人指导一下谢谢!
其实我想说换用其他序列化插件,没想到你都解决了。推荐三款Json.Net(Newtonsoft),FastJson,LitJson。
你可以自己拼凑json字符串
裤子都脱了。。。你还先叫我去搭讪。。。。
引用CYQ.Data.dll的话可以这么写代码:
MDataTable.LoadFromList<musers>(userList).ToJson();
改用Json.Net解决了。