asp.net json 与xml 的基础事例

 1  //json序列化和反序列化 using System.Runtime.Serialization.Json;
 2     public static string JsonSerializer<T>(T t)
 3     {
 4         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
 5         MemoryStream ms = new MemoryStream();
 6         ser.WriteObject(ms, t);
 7         string jsonString = Encoding.UTF8.GetString(ms.ToArray());
 8         ms.Close();
 9         //替换Json的Date字符串
10         string p = @"\\/Date\((\d+)\+\d+\)\\/";
11         MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString);
12         Regex reg = new Regex(p);
13         jsonString = reg.Replace(jsonString,matchEvaluator);
14         return jsonString;
15     }
16
17     //反序列化
18     public static T JsonDeserialize<T>(string jsonString)
19     {
20         //将"yyyy-MM-dd HH:mm:ss"格式的字符串转为"\/Date(1294499956278+0800)\/"格式           string p = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";
21         string p = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";
22         MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertDateStringToJsonDate);
23         Regex reg = new Regex(p);
24         jsonString = reg.Replace(jsonString, matchEvaluator);
25         DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
26         MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
27         T obj = (T)ser.ReadObject(ms);
28         return obj;
29     }
30
31
32
33     /// <summary>
34     /// /// 将Json序列化的时间由/Date(1294499956278+0800)转为字符串
35     /// /// </summary>
36     ///
37
38     private static string ConvertJsonDateToDateString(Match m)
39     {
40         string result = string.Empty;
41         DateTime dt = new DateTime(1970,1,1);
42         dt = dt.AddMilliseconds(long.Parse(m.Groups[1].Value));
43         dt = dt.ToLocalTime();
44         result = dt.ToString("yyyy-MM-dd HH:mm:ss");
45         return result;
46     }
47     /// <summary>
48     ///
49     /// 将时间字符串转为Json时间
50     /// /// </summary>
51     ///
52
53     private static string ConvertDateStringToJsonDate(Match m)
54     {
55         string result = string.Empty;
56         DateTime dt = DateTime.Parse(m.Groups[0].Value);
57         dt = dt.ToUniversalTime();
58         TimeSpan ts = dt - DateTime.Parse("1970-01-01");
59         result = string.Format("\\/Date({0}+0800)\\/",ts.TotalMilliseconds);
60         return result;
61     }
62
63     public class Person
64     {
65         public string Name { get; set; }
66         public int Age { get; set; }
67         public DateTime LastLoginTime { get; set; }
68     }
69
70
71         //序列化
72         Person p = new Person();
73         p.Name = "张三";
74         p.Age = 28;
75         p.LastLoginTime = DateTime.Now;
76         string jsonString = JsonSerializer<Person>(p);
77         Response.Write(jsonString);
78       //  反序列化
79         string json = "{\"Age\":28,\"LastLoginTime\":\"2011-01-09 00:30:00\",\"Name\":\"张三\"}";
80         Person p = JsonDeserialize<Person>(json);
81         Response.Write("姓名:" + p.Name + "</br>");
82         Response.Write("年龄:" + p.Age+"</br>");
83         Response.Write("时间:" + p.LastLoginTime);
84
85         List<Person>list=new List <Person>{
86          new Person{Name="张三",Age=24},
87          new Person{Name="小白",Age=5}
88         };
89
90         string jsonString = JsonSerializer<List< Person>>(list);
91         Response.Write(jsonString);
92
93         Dictionary<string,string>Dic=new Dictionary<string,string>();
94         Dic.Add("Name", "24");
95         Dic.Add("Age","28");
96         string jsonString=JsonSerializer<Dictionary<string,string>>(Dic);
97         Response.Write(jsonString);

asp.net json 与xml 的基础事例

时间: 2024-11-05 11:25:55

asp.net json 与xml 的基础事例的相关文章

Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET Web API中的JSON和XML格式化器. 在ASP.NET Web API中,媒体类型格式化器(Media-type Formatter)是一种能够做以下工作的对象: 从HTTP消息体读取CLR(公共语言运行时)对象 将CLR对象写入HTTP消息体 Web API提供了用于JSON和XML的媒体类

零基础iOS之Json及XML数据解析2

零基础iOS之Json及XML数据解析http://www.cnblogs.com/dingjianjaja/articles/4798604.html

iOS-数据持久化基础-JSON与XML数据解析

解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.XML数据结构 解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 XML数据结构 XML解析SAX?方式解析从上往下,?一点?一点读取性能好苹果推荐使?用DO

【基础备忘】JSON与XML的区别比较

转自:http://www.cnblogs.com/SanMaoSpace/p/3139186.html 1.定义介绍 (1).XML定义扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准.XML是标准通

.NET Core采用的全新配置系统[6]: 深入了解三种针对文件(JSON、XML与INI)的配置源

物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigurationSource和IniConfigurationSource. [ 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一.FileConfigurationSource  & FileConfigurationProvider 二.JsonConfigurationSou

深入了解三种针对文件(JSON、XML与INI)的配置源

深入了解三种针对文件(JSON.XML与INI)的配置源 物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigurationSource和IniConfigurationSource. [ 本文已经同步到<ASP.NET Core框架揭秘>之中] 目录一.FileConfigurationSource  & FileConfigurationPr

JSON取代XML?--JSON入门指南

定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等). 这些特性使JSON成为理想的数据交换语言. JSON研究中要关注的命题 1.JSON与XML的比较: 同 XML 或 HTML 片段相比,JSON 提供了更好的简单性和灵活性. 2.JSON序列化的操作: 参考文献 1.JSON

Jackson 框架JSON、XML、List、Map直接相互转换

博客分类: json 参考:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html 在其基础上做了稍微调整 详情见附件 jackson API文档:http://tool.oschina.net/apidocs/apidoc?api=jackson-1.9.9 Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象.相比json-lib框架,Jackson所依赖的jar

JSON&#160;和&#160;XML&#160;优缺点的比较

JSON 和 XML 优缺点的比较 1.JSON定义(JavaScript Object Notation) 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.可在不同平台之间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. 2.XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XM