Json的序列化与反序列化
对于Json的序列化和反序列化,如果自己编写源代码来实现的话,很复杂很烦,所以我采用的是使用别人已经写好的引用文件。这类文件网上有很多,我用的是LitJson,当然Newtonsoft也可以,但后者需要自己为数据结构写一个类来承接序列化之前和反序列化后的数据。
首先从网上下载LitJson库文件,也可以找我要(QQ2422082778)。然后在项目里引用LitJson的dll文件,在litjson-0.7.0\bin,LitJson如下图:

然后我们就可以使用它了。为了更好的在编写代码的时候更好的使用它,我们把它用using引入到需要使用的代码文件里:using LitJson;。
为了更好的演示序列化和反序列化,我自建了一个product类
namespace JSonTest
{
class Product
{
public string name;
public DateTime expiry;
public string[] sizes=new string[];
}
}
1.序列化
//设置对象
Product product=new Product();
product.name = "Apple";
product.expiry = new DateTime(,,,,,);
product.sizes = new string[] { "Small", "Medium", "Large" };
//序列化
JsonData xx= JsonMapper.ToJson(product);
Console.WriteLine(xx.ToString());//转化为字符串
Console.WriteLine(xx.ToJson());//转化为Json类型的字符串
序列化结果截图

2.反序列化
//设置对象
Product product=new Product();
product.name = "Apple";
product.expiry = new DateTime(,,,,,);
product.sizes = new string[] { "Small", "Medium", "Large" };
//反序列化
JsonData jd = JsonMapper.ToObject(output);
Console.WriteLine(jd["name"].ToString());//根据属性名获取"name"属性的值
反序列化结果截图

很简单的对吧!只要一两句代码就可以了,这就是Json,Json就是这么简单。不过如果你要更深入学习Json的话,就需要花费点心思了。
Json的序列化与反序列化的更多相关文章
- [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化
[.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化 本节导读: 介绍JSON的结构,在JS中的使用.重点说明JSON如何在.N ...
- C#中的Json的序列化和反序列化
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中.我们在下面实例讲解如何进行Jso ...
- Newtonsoft.Json 的序列化与反序列化
首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...
- ASP.NET MVC 网站开发总结(六)——简谈Json的序列化与反序列化
首先,先简单的谈一下什么是序列化与反序列化,序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通 ...
- Asp.net中Json的序列化和反序列化(一)
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- ASP.NET中JSON的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介 ...
- C# JSON字符串序列化与反序列化
JSON与c#对象转换http://hi.baidu.com/donick/item/4d741338870c91fe97f88d33 C# JSON字符串序列化与反序列化 – http://www. ...
- ASP.NET 中JSON 的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- 【转】Newtonsoft.Json 的序列化与反序列化
http://www.cnblogs.com/08shiyan/p/3464028.html 首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Fr ...
随机推荐
- TTS通过JavaScript调用
<script type="text/ecmascript"> var VoiceObj = new ActiveXObject("Sapi.SpVoice& ...
- 触发器事件trigger
修改mysql结束符 delimiter name 触发器语法: create trigger 触发器名称 after/before 触发时间 //错误 ERROR ...
- 简单MVC项目搭建--Java1.7+Eclipse luna + Maven 3.2.5 +spring 4.1.4
转载请注明出处:http://www.cnblogs.com/mybest/p/4265872.html 1. 环境配置 a) Java 1.7 b) Eclipse ...
- 第一章 数据库概述、MySQL的安装和配置
第一章 数据库概述.MySQL的安装和配置 1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...
- 获取广告标识符ifad
#import <AdSupport/ASIdentifierManager.h> NSString *adId =[[[ASIdentifierManager sharedManager ...
- AVL的删除写法的一个错误
今天在写AVL删除的时候犯了一个傻逼错误,调了很久,教训惨痛,引以为鉴. 树中允许有重复节点,如果删除的节点有重复,则只删除1个. AVL删除采取的方法是首先判断待删除节点是否存在,如果存在,那么判断 ...
- 解决Excel 2010只有一个窗口的问题
Excel 2010打开多个文件,但只有一个窗口的问题. 一般首次安装没有这个问题,碰到装了WPS后再卸载WPS,还有就是OFFICE卸载后重装,也会发生这个现像. 一.: 删除 HKEY_CLASS ...
- 一个奇葩的SQL
需求 建表脚本 CREATE TABLE [dbo].[A]( ) NOT NULL, ) NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[B]( ) NOT N ...
- Python 网络编程(一)
Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- Redis应用配置项说明
近期整理了下项目中Redis配置参数,以便学习备用~ #指定内存大小,格式为1k 1GB 1M,单位不区分大小写 # 1k => 1000 bytes # 1kb => 1024 byt ...