当前位置: 首页 > news >正文

织梦网站后台打不开/千锋教育培训多少钱费用

织梦网站后台打不开,千锋教育培训多少钱费用,佛山企业网站建设特色,b2b的典型网站c#中的Json的序列化和反序列化 Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中。我们在下面实例讲解如何进行Json…

 

c#中的Json的序列化和反序列化

Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中。我们在下面实例讲解如何进行Json的序列化和反序列化,本文介绍两种方案,.net 3.5原生Json操作和Json.net中的Json操作。

首先,我们先建立一个测试对象,用来序列化和反序列化。

public class Person
{public int ID { get; set; }public string Name { get; set; }public int Age { get; set; }public DateTime BirthDay { get; set; }
}

第一种,利用.Net Framework 3.5中原生的Json操作类库,特点就是不需要导入第三方类库,比较方便,速度上一般,而且需要.Net Framework的支持,我们知道现在还有很多服务器没有升级到.Net Framework 3.5,就用不了这个了。

首先导入下面类库,并加入下面代码
System.ServiceModel
System.ServiceModel.Web

class Program
{static void Main(string[] args){//创建测试对象Person p = new Person();p.ID = 1;p.Name = "张三";p.Age = 20;p.BirthDay = DateTime.Now.AddYears(-20);//将对象转化成Json字符串DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(Person));using (MemoryStream ms = new MemoryStream()){ds.WriteObject(ms, p);string output = Encoding.UTF8.GetString(ms.ToArray());Console.WriteLine(output);}}
}

输出结果

这个是.Net Framework 3.5原生的序列化方式,接着,我们介绍反序列化方式,还是同样的加入下面代码

class Program
{static void Main(string[] args){//创建测试对象Person p = new Person();p.ID = 1;p.Name = "张三";p.Age = 20;p.BirthDay = DateTime.Now.AddYears(-20);//将对象转化成Json字符串string output = string.Empty;DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(Person));using (MemoryStream ms = new MemoryStream()){ds.WriteObject(ms, p);output = Encoding.UTF8.GetString(ms.ToArray());}//将Json字符串转化成对象DataContractJsonSerializer outDs = new DataContractJsonSerializer(typeof(Person));using (MemoryStream outMs = new MemoryStream(Encoding.UTF8.GetBytes(output))){Person outPerson = outDs.ReadObject(outMs) as Person;Console.WriteLine("ID:" + outPerson.ID);Console.WriteLine("Name:" + outPerson.Name);Console.WriteLine("Age:" + outPerson.Age);Console.WriteLine("Birthday:" + outPerson.BirthDay);}}
}

输出结果

我们从.Net Framework 3.5原生的Json序列化及反序列化方式中,可以看出,还是相当麻烦的。很多网友也会问如果是.Net Framework 2.0该怎么办呢?下面,我们介绍一个第三方的Json序列化和反序列化类库,来完成上面操作,这个类库是有.Net Framework 2.0的版本的哦,而且这个类库还可以支持xml的序列化和反序列化操作(本文不做讲解)。下面看操作。

class Program
{static void Main(string[] args){//创建测试对象Person p = new Person();p.ID = 1;p.Name = "张三";p.Age = 20;p.BirthDay = DateTime.Now.AddYears(-20);//将对象转化成Json字符串string output = JsonConvert.SerializeObject(p);Console.WriteLine(output);}
}

输出结果

这个是Json序列化方法,是不是简单了很多呢?

class Program
{static void Main(string[] args){//创建测试对象Person p = new Person();p.ID = 1;p.Name = "张三";p.Age = 20;p.BirthDay = DateTime.Now.AddYears(-20);//将对象转化成Json字符串string output = JsonConvert.SerializeObject(p);//将Json字符串转化成对象Person outPerson = JsonConvert.DeserializeObject<Person>(output);Console.WriteLine("ID:" + outPerson.ID);Console.WriteLine("Name:" + outPerson.Name);Console.WriteLine("Age:" + outPerson.Age);Console.WriteLine("Birthday:" + outPerson.BirthDay);}
}

输出结果

这个是Json反序列化方法,简单吧,而且据说这个类库的速度比.Net原生的Json序列化和反序列化方法要快很多。下载地址http://json.codeplex.com/

http://www.jmfq.cn/news/4741165.html

相关文章:

  • 广告网站留电话不用验证码/宁波网站seo公司
  • 自己做的网站百度搜到/网推是什么意思
  • 吉祥物设计网站/百度推广助手
  • 做网站的前端是做什么/公司seo是什么级别
  • 苏州手机网站建设/互联网广告代理可靠吗
  • 以营销型网站为主要营销方式的案例/网络销售培训
  • wordpress 添加html/老鬼seo
  • 小说网站得广告怎么做/什么是网络营销
  • 海淘网站建设的目的/房地产销售工作内容
  • 网站建设估价/青岛网站建设微动力
  • 营销型网站分类/如何自己建个网站
  • szfob外贸论坛网站/百度收录接口
  • 推荐武进网站建设/百度地图网页版进入
  • 南宁企业建站/品牌营销推广公司
  • 产品网站怎么做/媒体软文发稿
  • 岳阳建网站/今日西安头条最新消息
  • 教育课程网站建设/湛江seo推广外包
  • 缠绕机东莞网站建设技术支持/百度推广电话客服24小时
  • 优化网站结构/百度怎么联系客服
  • 手机壳定制网站制作/百度知道首页
  • C#如何做简易网站/网站友链交换平台
  • 专门做代工产品的网站/百度爱采购推广一个月多少钱
  • 百度推广和网站建设/中国广告网
  • 网站文章模块/活动策划方案详细模板
  • 兼职网站建设 开源/线上销售怎么做推广
  • wordpress生成原生app/seo免费优化公司推荐
  • 广州专业网站建设哪家公司好/今日新闻头条最新消息
  • 做淘客网站需要什么/网站策划方案书
  • 苍溪县城乡建设投资有限公司网站/百度网址大全简单版
  • 网站设计流程的步骤/谷歌排名优化入门教程