asp.net json 与xml 的基础事例
- //json序列化和反序列化 using System.Runtime.Serialization.Json;
- public static string JsonSerializer<T>(T t)
- {
- DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
- MemoryStream ms = new MemoryStream();
- ser.WriteObject(ms, t);
- string jsonString = Encoding.UTF8.GetString(ms.ToArray());
- ms.Close();
- //替换Json的Date字符串
- string p = @"\\/Date\((\d+)\+\d+\)\\/";
- MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString);
- Regex reg = new Regex(p);
- jsonString = reg.Replace(jsonString,matchEvaluator);
- return jsonString;
- }
- //反序列化
- public static T JsonDeserialize<T>(string jsonString)
- {
- //将"yyyy-MM-dd HH:mm:ss"格式的字符串转为"\/Date(1294499956278+0800)\/"格式 string p = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";
- string p = @"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}";
- MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertDateStringToJsonDate);
- Regex reg = new Regex(p);
- jsonString = reg.Replace(jsonString, matchEvaluator);
- DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
- MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
- T obj = (T)ser.ReadObject(ms);
- return obj;
- }
- /// <summary>
- /// /// 将Json序列化的时间由/Date(1294499956278+0800)转为字符串
- /// /// </summary>
- ///
- private static string ConvertJsonDateToDateString(Match m)
- {
- string result = string.Empty;
- DateTime dt = new DateTime(,,);
- dt = dt.AddMilliseconds(long.Parse(m.Groups[].Value));
- dt = dt.ToLocalTime();
- result = dt.ToString("yyyy-MM-dd HH:mm:ss");
- return result;
- }
- /// <summary>
- ///
- /// 将时间字符串转为Json时间
- /// /// </summary>
- ///
- private static string ConvertDateStringToJsonDate(Match m)
- {
- string result = string.Empty;
- DateTime dt = DateTime.Parse(m.Groups[].Value);
- dt = dt.ToUniversalTime();
- TimeSpan ts = dt - DateTime.Parse("1970-01-01");
- result = string.Format("\\/Date({0}+0800)\\/",ts.TotalMilliseconds);
- return result;
- }
- public class Person
- {
- public string Name { get; set; }
- public int Age { get; set; }
- public DateTime LastLoginTime { get; set; }
- }
- //序列化
- Person p = new Person();
- p.Name = "张三";
- p.Age = ;
- p.LastLoginTime = DateTime.Now;
- string jsonString = JsonSerializer<Person>(p);
- Response.Write(jsonString);
- // 反序列化
- string json = "{\"Age\":28,\"LastLoginTime\":\"2011-01-09 00:30:00\",\"Name\":\"张三\"}";
- Person p = JsonDeserialize<Person>(json);
- Response.Write("姓名:" + p.Name + "</br>");
- Response.Write("年龄:" + p.Age+"</br>");
- Response.Write("时间:" + p.LastLoginTime);
- List<Person>list=new List <Person>{
- new Person{Name="张三",Age=},
- new Person{Name="小白",Age=}
- };
- string jsonString = JsonSerializer<List< Person>>(list);
- Response.Write(jsonString);
- Dictionary<string,string>Dic=new Dictionary<string,string>();
- Dic.Add("Name", "");
- Dic.Add("Age","");
- string jsonString=JsonSerializer<Dictionary<string,string>>(Dic);
- Response.Write(jsonString);
asp.net json 与xml 的基础事例的更多相关文章
- ASP.NET Web API中的JSON和XML序列化
ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...
- 【ASP.NET Web API教程】6.2 ASP.NET Web API中的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 W ...
- iOS-数据持久化基础-JSON与XML数据解析
解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...
- ASP.NET MVC 3.0 Controller基础
ASP.NET MVC 3.0 Controller基础 1.Controller类与方法 Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应.Cotro ...
- .NET Core采用的全新配置系统[6]: 深入了解三种针对文件(JSON、XML与INI)的配置源
物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- JSON取代XML?--JSON入门指南
定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C# ...
- 深入了解三种针对文件(JSON、XML与INI)的配置源
深入了解三种针对文件(JSON.XML与INI)的配置源 物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonCon ...
- JSON-lib框架,转换JSON、XML不再困难
Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象. 一. 准备工作 ...
随机推荐
- 在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解
看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you d ...
- HTML5基础知识(4)--white-space属性
1.white-space 属性设置如何处理元素内的空白. 这个属性声明建立布局过程中如何处理元素中的空白符.值 pre-wrap 和 pre-line 是 CSS 2.1 中新增的. 默认值: no ...
- [转]js中的时间与毫秒数互相转换
原文地址:http://blog.sina.com.cn/s/blog_77cb836301015icr.html [1]js毫秒时间转换成日期时间 var oldTime = (new Date ...
- Django- 1- 数据库设置
更改配置文件中的 字段更改为 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', //按照自己的数据库配置配置,现在所配置 ...
- poj2631 树的直径
设s-t是这棵树的直径,那么对于任意给予的一点,它能够到达的最远的点是s或者t. 这样我们可以通过2次bfs找到树的直径了. #include<cstdio> #include<qu ...
- Office 2013 Pro Plus Vol激活
先确认自己是office2013 vol(大客户版),然后cmd(管理员)里面运行如下命令: cd "C:\Program Files\Microsoft Office\Office15&q ...
- C#-WinForm-打印控件
打印控件 绘制如下窗体 一.PrintDocument -打印的基础 首先放置PrintDocument控件,双击事件PrintPage设置要打印的样式(李献策lxc) //第一步 设置打印属性 p ...
- C#—类库、委托、is和as运算符、泛型集合
类库 类库(Class Library)是一个综合性的面向对象的可重用类型集合,这些类型包括:接口.抽象类和具体类.类库可以解决一系列常见编程任务(包括诸如字符串管理.数据收集.数据库连接以及文件访问 ...
- sublime text 如何设置”在浏览器浏览“的快捷键
sublime text编辑器极其强大 ,但在刚开始用的时候,每次在浏览器中查看非得右键鼠标----”open in browser“,着实觉得麻烦....百度之,上面的方法有很多,但是根据我自己的经 ...
- 【USACO】Transformations(模拟)
Transformations A square pattern of size N x N (1 <= N <= 10) black and white square tiles is ...