1.利用js进行序列化成字符串和反序列化

  1. var personObj = {name:"Tom",age:16};
  2.  
  3. // 利用JS序列化成字符串
  4. var personStr = JSON.stringify(personObj);
  5.  
  6. // 利用JS进行反序列化
  7. var personObj2 = JSON.parse(personStr);

2.ASP.MVC后台进行序列化和反序列化

(1)创建一个类来组织传来的数据

  1. public Class Person
  2. {
  3. // 属性名称与JSON中的一致
  4. public string name{get;set;}
  5. public int age{get;set;}
  6. }

(2)序列化工具类

  1. /// <summary>
  2. /// Json帮助类
  3. /// </summary>
  4. public class JsonHelper
  5. {
  6. /// <summary>
  7. /// 将对象序列化为JSON格式
  8. /// </summary>
  9. /// <param name="o">对象</param>
  10. /// <returns>json字符串</returns>
  11. public static string SerializeObject(object o)
  12. {
  13. string json = JsonConvert.SerializeObject(o);
  14. return json;
  15. }
  16.  
  17. /// <summary>
  18. /// 解析JSON字符串生成对象实体
  19. /// </summary>
  20. /// <typeparam name="T">对象类型</typeparam>
  21. /// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>
  22. /// <returns>对象实体</returns>
  23. public static T DeserializeJsonToObject<T>(string json) where T : class
  24. {
  25. JsonSerializer serializer = new JsonSerializer();
  26. StringReader sr = new StringReader(json);
  27. object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
  28. T t = o as T;
  29. return t;
  30. }
  31.  
  32. /// <summary>
  33. /// 解析JSON数组生成对象实体集合
  34. /// </summary>
  35. /// <typeparam name="T">对象类型</typeparam>
  36. /// <param name="json">json数组字符串(eg.[{"ID":"112","Name":"石子儿"}])</param>
  37. /// <returns>对象实体集合</returns>
  38. public static List<T> DeserializeJsonToList<T>(string json) where T : class
  39. {
  40. JsonSerializer serializer = new JsonSerializer();
  41. StringReader sr = new StringReader(json);
  42. object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));
  43. List<T> list = o as List<T>;
  44. return list;
  45. }
  46.  
  47. /// <summary>
  48. /// 反序列化JSON到给定的匿名对象.
  49. /// </summary>
  50. /// <typeparam name="T">匿名对象类型</typeparam>
  51. /// <param name="json">json字符串</param>
  52. /// <param name="anonymousTypeObject">匿名对象</param>
  53. /// <returns>匿名对象</returns>
  54. public static T DeserializeAnonymousType<T>(string json, T anonymousTypeObject)
  55. {
  56. T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);
  57. return t;
  58. }
  59. }

(3)后台序列化

  1. List<Person> jsonlist = JsonHelper.DeserializeJsonToList <Person> (jsonObjects);

Json的序列化和反序列化的更多相关文章

  1. [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化

    [.net 面向对象程序设计进阶] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化 本节导读: 介绍JSON的结构,在JS中的使用.重点说明JSON如何在.N ...

  2. C#中的Json的序列化和反序列化

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

  3. Json的序列化与反序列化

    对于Json的序列化和反序列化,如果自己编写源代码来实现的话,很复杂很烦,所以我采用的是使用别人已经写好的引用文件.这类文件网上有很多,我用的是LitJson,当然Newtonsoft也可以,但后者需 ...

  4. Newtonsoft.Json 的序列化与反序列化

    首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...

  5. ASP.NET MVC 网站开发总结(六)——简谈Json的序列化与反序列化

    首先,先简单的谈一下什么是序列化与反序列化,序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通 ...

  6. Asp.net中Json的序列化和反序列化(一)

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...

  7. ASP.NET中JSON的序列化和反序列化

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介 ...

  8. C# JSON字符串序列化与反序列化

    JSON与c#对象转换http://hi.baidu.com/donick/item/4d741338870c91fe97f88d33 C# JSON字符串序列化与反序列化 – http://www. ...

  9. ASP.NET 中JSON 的序列化和反序列化

    JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...

  10. 【转】Newtonsoft.Json 的序列化与反序列化

    http://www.cnblogs.com/08shiyan/p/3464028.html 首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Fr ...

随机推荐

  1. 每日英语: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,' ...

  2. XML 文档和数据

    .NET Framework 4.5 其他版本 .NET Framework 提供了一组全面而集成的类,可用来方便地生成可以识别 XML 的应用程序. 通过以下命名空间中的类,可以分析和编写 XML, ...

  3. Linux之date

    近期学习需要根据不同的日期的数据,做同样的操作,如果一遍遍的手动操作,太笨重了,有些愚公的味道.所以就想着在shell下,将时间当做变量,然后重复其他的操作. 这里的需求是得到从某天(例如:2014- ...

  4. PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEvent 出现 NullPointerException

    错误1: java.lang.NullPointerException at android.widget.PopupWindow$1.onScrollChanged(PopupWindow.java ...

  5. Flink 案例整合

    1.概述 Flink 1.1.0 版本已经在官方发布了,官方博客于 2016-08-08 更新了 Flink 1.1.0 的变动.在这 Flink 版本的发布,添加了 SQL 语法这一特性.这对于业务 ...

  6. LoadRunner 12 发布,主推云

    LoadRunner 12 发布,主推云 http://blog.csdn.net/testing_is_believing/article/details/22572341

  7. sql优化之(DMV)

    原文地址:http://technet.microsoft.com/zh-cn/library/bb838723.aspx Microsoft SQL Server 2005 提供了一些工具来监控数据 ...

  8. 网络存储-Samba、NAS---未知的用户名或错误密码

    项目中的文件需要保存到网络存储设备中,之前用的是NAS.因没来得及采购就先用Samba顶上.代码发现通用…… 一.定义: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器 ...

  9. android中无限循环滑动的gallery实例

    android中无限循环滑动的gallery实例 1.点击图片有变暗的效果,使用imageview.setAlpha(),并且添加ontouchListener public void init() ...

  10. 【Android】如何实现ButterKnife

    如何实现ButterKnife ButterKnife的原理简述 示例代码ButterKnifeProcedure Pluggable Annotation Processing 注解处理器 Java ...