序列化各个类型成JSON XML实例
LitJson组件序列化请参考http://www.cnblogs.com/leee/p/4437230.html
XML序列化请参考http://www.cnblogs.com/leee/p/4244549.html
这篇实例是关于JavaScriptSerializer对各个类型的序列化。
将一个类的实例序列成json
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class Person { public string Name { get; set; } public int Age { get; set; } } Person p1 = new Person(); p1.Name = "like" ; p1.Age = 24; JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer(); var json = javascriptSerializer.Serialize(p1); Response.Write(json); //{"Name":"like","Age":24} |
将一个序列序列成“数组”
1 2 3 4 | string[] arr = new string[] { "s" , "dd" , "fff" }; JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer(); var json = javascriptSerializer.Serialize(arr); Response.Write(json); //["s","dd","fff"] |
将一个list序列成“数组”
1 2 3 4 5 6 | List<string> list = new List<string>(); list.Add( "sss" ); list.Add( "dd" ); JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer(); var json = javascriptSerializer.Serialize(list); Response.Write(json); //["sss","dd"] |
将一个无序字典hashtable序列成json
1 2 3 4 5 6 | Hashtable has = new Hashtable(); has.Add( "1" , "sada" ); has.Add( "5" , "sadjdi" ); JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer(); var json = javascriptSerializer.Serialize(has); Response.Write(json); //{"1":"sada","5":"sadjdi"} |
将一个泛型字典序列成json
1 2 3 4 5 6 | Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add( "first" , "sasa" ); dic.Add( "second" , "dddd" ); JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer(); var json = javascriptSerializer.Serialize(dic); Response.Write(json); //{"first":"sasa","second":"dddd"} |
将一个Datatable序列成数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public string DateTableToJson(DataTable dt) { List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); foreach (DataRow dr in dt.Rows) { Dictionary<string, object> result = new Dictionary<string, object>(); foreach (DataColumn dc in dt.Columns) { result.Add(dc.ColumnName, dr[dc]); } list.Add(result); } JavaScriptSerializer javascriptSerializer = new JavaScriptSerializer(); var json = javascriptSerializer.Serialize(list); return json; } |
手动写一个datatable
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | //手动写一个datatable DataTable dt = new DataTable( "cart" ); DataColumn l0 = new DataColumn( "编号" , Type.GetType( "System.Int32" )); DataColumn l1 = new DataColumn( "姓名" , Type.GetType( "System.String" )); DataColumn l2 = new DataColumn( "年龄" , Type.GetType( "System.Int16" )); DataColumn l3 = new DataColumn( "身高" , Type.GetType( "System.Int16" )); DataColumn l4 = new DataColumn( "视力" , Type.GetType( "System.Int64" )); DataColumn l5 = new DataColumn( "创建时间" , Type.GetType( "System.DateTime" )); DataColumn[] col = { l0, l1, l2, l3, l4, l5, }; dt.Columns.AddRange(col); for (int i = 0; i < 5; i++) { DataRow row = dt.NewRow(); //new DataRow(); row[ "编号" ] = i + 1; row[ "姓名" ] = "小王" ; row[ "年龄" ] = 18; row[ "身高" ] = 1516; row[ "视力" ] = 15659; row[ "创建时间" ] = DateTime.Now.ToLocalTime(); dt.Rows.Add(row); } Response.Write(DateTableToJson(dt)); // [ // {"编号":1,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"}, // {"编号":2,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"}, // {"编号":3,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"}, // {"编号":4,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"}, // {"编号":5,"姓名":"小王","年龄":18,"身高":1516,"视力":15659,"创建时间":"\/Date(1443362884990)\/"} // ] |
知识没有高低贵贱之分。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步