C#实现JSON字符串序列化与反序列化的方法
程序员文章站
2022-06-24 23:18:18
c#将对象序列化成json字符串
public string getjsonstring()
{
list product...
c#将对象序列化成json字符串
public string getjsonstring() { list<product> products = new list<product>(){ new product(){name="苹果",price=5}, new product(){name="橘子",price=5}, new product(){name="干柿子",price=00} }; productlist productlist = new productlist(); productlistgetproducts = 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},{"name":"橘子","price":5},{"name":"柿子","price":16}]}
如何将json字符串转换成对象使用呢?
在实际开发中,经常有可能遇到用js传递一个json格式的字符串到后台使用,如果能自动将字符串转换成想要的对象,那进行遍历或其他操作时,就方便多了。那具体是如何实现的呢?
public static list<t> jsonstringtolist<t>(this string jsonstr) { javascriptserializer serializer = new javascriptserializer(); list<t> objs = serializerdeserialize<list<t>>(jsonstr); return objs; } public static t deserialize<t>(string json) { t obj = activatorcreateinstance<t>(); using (memorystream ms = new memorystream(encodingutfgetbytes(json))) { datacontractjsonserializer serializer = new datacontractjsonserializer(objgettype()); return (t)serializerreadobject(ms); } } string jsonstr = "[{name:'苹果',price:5},{name:'橘子',price:5},{name:'柿子',price:16}]"; list<product> products = new list<product>(); products = jsonstringtolist<product>(jsonstr); foreach (var item in products) { responsewrite(itemname + ":" + itemprice + "<br />"); } public class product { public string name { get; set; } public double price { get; set; } }
在上面的例子中,可以很方便的将json字符串转换成list对象,操作的时候就方便多了~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
JavaScript实现的反序列化json字符串操作示例
-
C#实现将类的内容写成JSON格式字符串的方法
-
Newtonsoft.Json C# Json序列化和反序列化工具的使用、类型方法大全
-
C#反序列化到类的实现方法
-
C#实现实体类与字符串互相转换的方法
-
JSON PHP中,Json字符串反序列化成对象/数组的方法
-
C# .NET的BinaryFormatter、protobuf-net、Newtonsoft.Json以及自己写的序列化方法序列化效率和序列化后的文件体积大小对比
-
jQuery序列化form表单数据为JSON对象的实现方法
-
C#自定义序列化ISerializable的实现方法
-
C#实现JSON字符串序列化与反序列化的方法