序列化各个类型成JSON XML实例

来源:互联网 发布:php培训出来的 编辑:程序博客网 时间:2024/06/06 12:27

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)\/"}
//  ]

  

 

  

  

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【lk_】。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

知识没有高低贵贱之分。
0 0
原创粉丝点击