Json.net说法——(二)集合序列化

简介: 集合序列化 Json序列化器支持大量序列化和反序列化集合对象的方法。   要序列化一个集合(泛型列表,字典或自定义集合),只需简单的调用相关的序列化器就可以了。json.net会序列化这个集合和它包含的所有值。

集合序列化

Json序列化器支持大量序列化和反序列化集合对象的方法。

 

要序列化一个集合(泛型列表,字典或自定义集合),只需简单的调用相关的序列化器就可以了。json.net会序列化这个集合和它包含的所有值。

序列化

List<Customer> _list = new List<Customer>();

_list.Add(new Customer {  Unid=1, CustomerName="宋江",Memo="天魁星"});

_list.Add(new Customer { Unid = 1, CustomerName = "吴用", Memo = "天机星" });

_list.Add(new Customer { Unid = 1, CustomerName = "石秀", Memo = "天慧星" });

 

string strJson = JsonConvert.SerializeObject(_list, Formatting.Indented);

 

/*

[{"ID": 1,"CustomerName": "宋江","Memo": "天魁星"},

  {"ID": 1,"CustomerName": "吴用","Memo": "天机星"},

  {"ID": 1,"CustomerName": "石秀","Memo": "天慧星"}]

*/

 

反序列化

反序列化一个json对象到一个.net集合,只需指定要反序列化的集合类型即可。json.net支持大量的集合类型。

 

string strJson = @"[{""ID"": 1,""CustomerName"": ""宋江"",""Memo"": ""天魁星""},{""ID"": 1,""CustomerName"": ""吴用"",""Memo"": ""天机星""},{""ID"": 1,""CustomerName"": ""石秀"",""Memo"": ""天慧星""}]";

List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(strJson);

foreach (Customer c in _list)

{

    Console.WriteLine(c.CustomerName);

}

 

/*

宋江

吴用

石秀

*/

 

反序列化字典

json.net也能把json对象反序列化为一个泛型字典。json对象的属性名和值会被添加到一个字典中。

 

string strJson = @"{""ID"": 1,""CustomerName"": ""宋江"",""Memo"": ""天魁星""}";

Dictionary<string, string> _dictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(strJson);

 

foreach (KeyValuePair<string, string> kp in _dictionary)

{

    Console.WriteLine(kp.Key + ":" + kp.Value);

}

这里还用这个例子,虽然这个例子没有意义,但属性与属性值也可以看做一个字典关系。

 

 

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
Android开发
Android 中使用Gson进行list集合的序列化与反序列化
Android 中使用Gson进行list集合的序列化与反序列化
190 0
|
XML JSON JavaScript
30天C#基础巩固-----序列化,集合
30天C#基础巩固-----序列化,集合
122 0
30天C#基础巩固-----序列化,集合
|
JSON 数据格式
【Groovy】json 字符串反序列化 ( 使用 JsonSlurper 进行 json 字符串反序列化 | 根据 map 集合构造相关类 )
【Groovy】json 字符串反序列化 ( 使用 JsonSlurper 进行 json 字符串反序列化 | 根据 map 集合构造相关类 )
877 0
【Groovy】json 字符串反序列化 ( 使用 JsonSlurper 进行 json 字符串反序列化 | 根据 map 集合构造相关类 )
网络传输时既有管道流(PipedInputStream 与 PipedOutStream)又有序列化对象、反序列化对象(ObjectOutputStream与 ObjectInputStream),还有在集合中、流中都有的身影的Properties究竟是何方神物?我们该怎么选择呢?
网络传输时既有管道流(PipedInputStream 与 PipedOutStream)又有序列化对象、反序列化对象(ObjectOutputStream与 ObjectInputStream),还有在集合中、流中都有的身影的Properties究竟是何方神物?我们该怎么选择呢?
110 0
|
存储 Java 数据安全/隐私保护
java基础学习_IO流04_用户登录注册案例(IO版)、数据操作流(操作基本数据类型的流)、内存操作流、打印流、标准输入输出流、随机访问流、合并流、序列化流(对象操作流)、Properties属性集合类、NIO(新IO)_day22总结
java基础学习_IO流04_用户登录注册案例(IO版)、数据操作流(操作基本数据类型的流)、内存操作流、打印流、标准输入输出流、随机访问流、合并流、序列化流(对象操作流)、Properties属性集合类、NIO(新IO)_day22总结 ===========================...
1642 0
|
JSON 数据格式 JavaScript
Json.net说法——(一)修饰标签,日期序列化
通过属性标签自定义JSON序列化   JsonObjectAttribute:类修饰标签,用于控制类如何被序列化为一个json对象 JsonArrayAttribute:集合修饰标签,用于控制集合如何被序列化为一个json对象 JsonPropertyAttribute:域和属性修饰标签,用...
831 0
|
JSON 数据格式
Json.net说法——(四)序列化错误处理
序列化错误处理 json.net支持序列化和反序列化错误处理。错误处理可以捕捉错误并且可以选择处理错误且继续序列化或把从程序中错误抛出。 定义错误处理有两种方法:错误事件和错误修饰标签。   (一)事件处理 List errors = new List(); List c = JsonConvert.
850 0
|
JSON 数据格式
Json.net说法——(四)序列化错误处理
序列化错误处理 json.net支持序列化和反序列化错误处理。错误处理可以捕捉错误并且可以选择处理错误且继续序列化或把从程序中错误抛出。 定义错误处理有两种方法:错误事件和错误修饰标签。   (一)事件处理 List errors = new List(); List c = JsonConvert.
841 0
|
15天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
25天前
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第22天】在Java的世界里,对象序列化和反序列化是数据持久化和网络传输的关键技术。本文将带你了解如何在Java中实现对象的序列化与反序列化,并探讨其背后的原理。通过实际代码示例,我们将一步步展示如何将复杂数据结构转换为字节流,以及如何将这些字节流还原为Java对象。文章还将讨论在使用序列化时应注意的安全性问题,以确保你的应用程序既高效又安全。