ASPNET中JSON的序列化和反序列化的方法(2)

function ChangeDateFormat(jsondate) { jsondate = jsondate.replace("/Date(", "").replace(")/", ""); if (jsondate.indexOf("+") > 0) { jsondate = jsondate.substring(0, jsondate.indexOf("+")); } else if (jsondate.indexOf("-") > 0) { jsondate = jsondate.substring(0, jsondate.indexOf("-")); } var date = new Date(parseInt(jsondate, 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) date.getMonth() + 1; var currentDate = date.getDate() < 10 ? "0" + date.getDate() date.getDate(); return date.getFullYear() + "-" + month + "-" + currentDate; }

简单Demo :

ChangeDateFormat("\/Date(1294499956278+0800)\/");

结果:

2011-1-8

四、JSON序列化和反序列化集合、字典、数组的处理

在JSON数据中,所有的集合、字典和数组都表示为数组。

List<T>序列化:

List<Person> list = new List<Person>() { new Person(){, Age=28}, new Person(){, Age=25} }; string jsonString = JsonHelper.JsonSerializer<List<Person>>(list);

序列化结果:

"[{\"Age\":28,\"Name\":\"张三\"},{\"Age\":25,\"Name\":\"李四\"}]"

字典不能直接用于JSON,Dictionary字典转化为JSON并不是跟原来的字典格式一致,而是形式以Dictionary的Key作为名称”Key“的值,以Dictionary的Value作为名称为”Value“的值 。如:

Dictionary<string, string> dic = new Dictionary<string, string>(); dic.Add("Name", "张三"); dic.Add("Age", "28"); string jsonString = JsonHelper.JsonSerializer < Dictionary<string, string>>(dic);

序列化结果:

"[{\"Key\":\"Name\",\"Value\":\"张三\"},{\"Key\":\"Age\",\"Value\":\"28\"}]"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjyzff.html