[参考]C# JSON字符串序列化与反序列化
C#将对象序列化成JSON字符串
- public string GetJsonString()
- {
- List<Product> products = new List<Product>(){
- new Product(){Name="苹果",Price=5.5},
- new Product(){Name="橘子",Price=2.5},
- new Product(){Name="干柿子",Price=16.00}
- };
- ProductList productlist = new ProductList();
- productlist.GetProducts = products;
- return new JavaScriptSerializer().Serialize(productlist));
- }
- public class Product
- {
- public string Name { get; set; }
- public double Price { get; set; }
- }
- public class ProductList
- {
- public List<Product> GetProducts { get; set; }
- }
这里主要是使用JavaScriptSerializer来实现序列化操作,这样我们就可以把对象转换成Json格式的字符串,生成的结果如下:
- {"GetProducts":[{"Name":"苹果","Price":5.5},{"Name":"橘子","Price":2.5},{"Name":"柿子","Price":16}]}
如何将Json字符串转换成对象使用呢?
在实际开发中,经常有可能遇到用JS传递一个Json格式的字符串到后台使用,如果能自动将字符串转换成想要的对象,那进行遍历或其他操作时,就方便多了。那具体是如何实现的呢?
- public static List<T> JSONStringToList<T>(this string JsonStr)
- {
- JavaScriptSerializer Serializer = new JavaScriptSerializer();
- List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
- return objs;
- }
- public static T Deserialize<T>(string json)
- {
- T obj = Activator.CreateInstance<T>();
- using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
- {
- DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
- return (T)serializer.ReadObject(ms);
- }
- }
- string JsonStr = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]";
- List<Product> products = new List<Product>();
- products = JSONStringToList<Product>(JsonStr);
- foreach (var item in products)
- {
- Response.Write(item.Name + ":" + item.Price + "<br />");
- }
- public class Product
- {
- public string Name { get; set; }
- public double Price { get; set; }
- }
在上面的例子中,可以很方便的将Json字符串转换成List对象,操作的时候就方便多了~
转载于:https://www.cnblogs.com/Raywang80s/p/7096152.html
[参考]C# JSON字符串序列化与反序列化相关推荐
- C# JSON字符串序列化与反序列化(转)
C# JSON字符串序列化与反序列化 C#将对象序列化成JSON字符串 public string GetJsonString() { List<Product> products = n ...
- Newtonsoft.Json 的序列化与反序列化
首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化. 创建 ...
- Json.Net系列教程 3.Json.Net序列化和反序列化设置
上节补充 首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列 ...
- java newtonsoft.json_Newtonsoft.Json 的序列化与反序列化
首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化. 创建 ...
- 数据传输:json格式序列化与反序列化(将类转化为json格式与将json格式转化为类)
数据传输:json格式序列化与反序列化(将类转化为json格式与将json格式转化为类) 在最近的实验中,使用了json来传送客户端与服务端的信息,之前原本想使用自己定义的格式,但是使用json可以将 ...
- 在C#中,Json的序列化和反序列化的几种方式总结
在C#中,Json的序列化和反序列化的几种方式总结 在这篇文章中,我们将会学到如何使用C#,来序列化对象成为Json格式的数据,以及如何反序列化Json数据到对象. 什么是JSON? JSON (Ja ...
- ASP.NET中JSON的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- 一起谈.NET技术,ASP.NET 中JSON 的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- C#中的Json的序列化和反序列化
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中.我们在下面实例讲解如何进行Jso ...
最新文章
- SHARED POOL 原理
- Java知识点总结(JDBC-封装JDBC)
- [Android1.5]DigitalClock自定义日期输出格式
- 操作系统原理 : 非连续的内存分配,分段,页表
- 大学计算机无线论文范文大全,大学计算机论文范文
- adb 的原理以及它总重启等问题详解
- @RequestParam的作用
- 新鲜出炉!大规模神经网络最新综述!
- IOProcess基础知识
- 博文视点大讲堂35期《Google Android创赢路线与产品开发实战》读者见面会
- 4k电视色彩表现测试软件,选高端4K电视 4K测试图帮你轻松分辨
- 应用密码学:协议、算法与C源程序(学习第一章)
- winform之修改图标
- Ubuntu16.04安装steam
- Linux下安装google浏览器
- Win7下SQLite安装配置与使用方法详解
- selenium中的三种等待方式以及显示等待和隐式等待区别
- 美国宾州计算机学校,美国宾州有什么好大学
- 一份来自数据森麟的2018年终总结
- [WinForm]写一个小程序把指定目录的程序添加到开机自动启动(无法绕过360检查)