Json的序列化和反序列化
1.利用js进行序列化成字符串和反序列化
- var personObj = {name:"Tom",age:16};
- // 利用JS序列化成字符串
- var personStr = JSON.stringify(personObj);
- // 利用JS进行反序列化
- var personObj2 = JSON.parse(personStr);
2.ASP.MVC后台进行序列化和反序列化
(1)创建一个类来组织传来的数据
- public Class Person
- {
- // 属性名称与JSON中的一致
- public string name{get;set;}
- public int age{get;set;}
- }
(2)序列化工具类
- /// <summary>
- /// Json帮助类
- /// </summary>
- public class JsonHelper
- {
- /// <summary>
- /// 将对象序列化为JSON格式
- /// </summary>
- /// <param name="o">对象</param>
- /// <returns>json字符串</returns>
- public static string SerializeObject(object o)
- {
- string json = JsonConvert.SerializeObject(o);
- return json;
- }
- /// <summary>
- /// 解析JSON字符串生成对象实体
- /// </summary>
- /// <typeparam name="T">对象类型</typeparam>
- /// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>
- /// <returns>对象实体</returns>
- public static T DeserializeJsonToObject<T>(string json) where T : class
- {
- JsonSerializer serializer = new JsonSerializer();
- StringReader sr = new StringReader(json);
- object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
- T t = o as T;
- return t;
- }
- /// <summary>
- /// 解析JSON数组生成对象实体集合
- /// </summary>
- /// <typeparam name="T">对象类型</typeparam>
- /// <param name="json">json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])</param>
- /// <returns>对象实体集合</returns>
- public static List<T> DeserializeJsonToList<T>(string json) where T : class
- {
- JsonSerializer serializer = new JsonSerializer();
- StringReader sr = new StringReader(json);
- object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));
- List<T> list = o as List<T>;
- return list;
- }
- /// <summary>
- /// 反序列化JSON到给定的匿名对象.
- /// </summary>
- /// <typeparam name="T">匿名对象类型</typeparam>
- /// <param name="json">json字符串</param>
- /// <param name="anonymousTypeObject">匿名对象</param>
- /// <returns>匿名对象</returns>
- public static T DeserializeAnonymousType<T>(string json, T anonymousTypeObject)
- {
- T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);
- return t;
- }
- }
(3)后台序列化
- List<Person> jsonlist = JsonHelper.DeserializeJsonToList <Person> (jsonObjects);
Json的序列化和反序列化的更多相关文章
- [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化
[.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化 本节导读: 介绍JSON的结构,在JS中的使用.重点说明JSON如何在.N ...
- C#中的Json的序列化和反序列化
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中.我们在下面实例讲解如何进行Jso ...
- Json的序列化与反序列化
对于Json的序列化和反序列化,如果自己编写源代码来实现的话,很复杂很烦,所以我采用的是使用别人已经写好的引用文件.这类文件网上有很多,我用的是LitJson,当然Newtonsoft也可以,但后者需 ...
- 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 ...
随机推荐
- 每日英语:What To Expect To Wear When You're Expecting
AT THE ACADEMY AWARDS earlier this month, Kerry Washington, the star of the ABC-TV series 'Scandal,' ...
- XML 文档和数据
.NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...
- Linux之date
近期学习需要根据不同的日期的数据,做同样的操作,如果一遍遍的手动操作,太笨重了,有些愚公的味道.所以就想着在shell下,将时间当做变量,然后重复其他的操作. 这里的需求是得到从某天(例如:2014- ...
- PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEvent 出现 NullPointerException
错误1: java.lang.NullPointerException at android.widget.PopupWindow$1.onScrollChanged(PopupWindow.java ...
- Flink 案例整合
1.概述 Flink 1.1.0 版本已经在官方发布了,官方博客于 2016-08-08 更新了 Flink 1.1.0 的变动.在这 Flink 版本的发布,添加了 SQL 语法这一特性.这对于业务 ...
- LoadRunner 12 发布,主推云
LoadRunner 12 发布,主推云 http://blog.csdn.net/testing_is_believing/article/details/22572341
- sql优化之(DMV)
原文地址:http://technet.microsoft.com/zh-cn/library/bb838723.aspx Microsoft SQL Server 2005 提供了一些工具来监控数据 ...
- 网络存储-Samba、NAS---未知的用户名或错误密码
项目中的文件需要保存到网络存储设备中,之前用的是NAS.因没来得及采购就先用Samba顶上.代码发现通用…… 一.定义: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器 ...
- android中无限循环滑动的gallery实例
android中无限循环滑动的gallery实例 1.点击图片有变暗的效果,使用imageview.setAlpha(),并且添加ontouchListener public void init() ...
- 【Android】如何实现ButterKnife
如何实现ButterKnife ButterKnife的原理简述 示例代码ButterKnifeProcedure Pluggable Annotation Processing 注解处理器 Java ...