序列化各个类型成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 IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?