博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# JSON字符串序列化与反序列化
阅读量:5290 次
发布时间:2019-06-14

本文共 1917 字,大约阅读时间需要 6 分钟。

C#将对象序列化成JSON字符串

public string GetJsonString()  {      List
products = new List
(){ 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
GetProducts { get; set; } }

这里主要是使用JavaScriptSerializer来实现序列化操作,这样我们就可以把对象转换成Json格式的字符串,生成的结果如下:

{
"GetProducts":[{
"Name":"苹果","Price":5.5},{
"Name":"橘子","Price":2.5},{
"Name":"柿子","Price":16}]}

如何将Json字符串转换成对象使用呢?

在实际开发中,经常有可能遇到用JS传递一个Json格式的字符串到后台使用,如果能自动将字符串转换成想要的对象,那进行遍历或其他操作时,就方便多了。那具体是如何实现的呢?

public static List
JSONStringToList
(this string JsonStr) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); List
objs = Serializer.Deserialize
>(JsonStr); return objs; } public static T Deserialize
(string json) { T obj = Activator.CreateInstance
(); 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
products = new List
(); products = JSONStringToList
(JsonStr); foreach (var item in products) { Response.Write(item.Name + ":" + item.Price + "
"); } public class Product { public string Name { get; set; } public double Price { get; set; } }

在上面的例子中,可以很方便的将Json字符串转换成List对象

转载于:https://www.cnblogs.com/dekevin/p/5152847.html

你可能感兴趣的文章
IBM测试分类-AVT,BVT,CVT,FVT,GVT,TVT,SVT,PVT
查看>>
springboot动态多数据源切换
查看>>
[Java]Jersey Spring Integration Demo
查看>>
left & double spindle difference
查看>>
apue3.e (基于maxos 10.9)
查看>>
网站测试之一压力测试
查看>>
vue脚手架 && 实例
查看>>
npm全局安装和局部文件安装区别
查看>>
Java虚拟机基础
查看>>
Java反射机制demo(六)—获得并操作一个类的属性
查看>>
[译]C语言实现一个简易的Hash table(6)
查看>>
gogs搭建属于自己的git网站
查看>>
查看oracle数据库的连接数以及用户
查看>>
简单几行js实现tab选项切换效果
查看>>
关于更改滚动条样式
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
[转帖] Oracle 关闭自动收集统计信息
查看>>
TCP/IP协议
查看>>
三.野指针和free
查看>>