Json.Net学习.集合序列化.
来源:互联网 发布:unity3d开发卡牌游戏 编辑:程序博客网 时间:2024/05/17 05:06
只要集合实现了IEnumable接口就可以进行序列化
Json序列化器为序列化及反序列化集合对象提供了良好的支持.
->Serializing
为了序列化一个集合---一个泛型的list,array,dictionary,或者自定义集合---简单地调用序列化器,使用您想要进行序列化的集合对象作为参数,Json.Net会序列化集合以及所有它包含的值。
示例:
public class Product { public string Name { get; set; } public decimal Price { get; set; } [JsonConverter(typeof(IsoDateTimeConverter))] public DateTime ExpiryDate { get; set; } }
测试:
Product p1 = new Product() { Name = "Product 1", Price = 99.95m, ExpiryDate = new DateTime(2010, 12, 19, 0, 0, 0, DateTimeKind.Utc) }; Product p2 = new Product { Name = "Product 2", Price = 12.50m, ExpiryDate = new DateTime(2011, 1, 1, 0, 0, 0, DateTimeKind.Utc) }; List<Product> products = new List<Product>(); products.Add(p1); products.Add(p2); string json = JsonConvert.SerializeObject(products, Formatting.Indented); Console.WriteLine(json);
输出结果:
[
{
"Name": "Product 1",
"Price": 99.95,
"ExpiryDate": "2010-12-19T00:00:00Z"
},
{
"Name": "Product 2",
"Price": 12.50,
"ExpiryDate": "2011-01-01T00:00:00Z"
}
]
->Deserializing
为了反序列化Json到一个.Net集合中,只要指定一个您想要反序列化的集合类型就可以了,Json.Net支持多种类型的集合.
示例:
string json2 = @"[ { ""Name"": ""Product 1"", ""ExpiryDate"": ""2010-12-19T00:00:00Z"", ""Price"": 99.95, ""Sizes"": null }, { ""Name"": ""Product 2"", ""ExpiryDate"": ""2011-01-01T00:00:00Z"", ""Price"": 12.50, ""Sizes"": null } ]"; List<Product> productList = JsonConvert.DeserializeObject<List<Product>>(json2); Console.WriteLine(productList.Count);//2 Product product1 = productList[0]; Console.WriteLine(product1.Name);//Product 1
->Deserializing Dictionaries
使用Json.Net你也可以反序列化一个Json对象到一个.Net的泛型Dictionary中.Json对象的属性名和属性值将会被添加到Dictionary中.
示例:
string jsonDictionary = @"{""key1"":""value1"",""key2"":""value2""}"; Dictionary<string, string> dic = JsonConvert.DeserializeObject<Dictionary<string,string>>(jsonDictionary); Console.WriteLine(dic.Count);//2 Console.WriteLine(dic["key1"]);//value1
- Json.Net学习.集合序列化.
- Json.Net学习-序列化的回调方法
- .net JSON序列化数据
- .Net Json格式序列化
- asp.net Json序列化
- Asp.net Json序列化
- asp.net Json序列化
- Net序列化-JSON序列化
- .net json序列化组件Json.NET(Newtonsoft.Json)
- .NET模型序列化json数据
- ASP.net中用JSON序列化对象
- ASP.net中用JSON序列化对象
- 使用Json.NET序列化DataSet
- Json.NET匿名类型序列化
- Json.NET使用入门(一)【序列化】
- JSON.NET对象序列化示例教程
- Json.Net学习(1) 实现简单的序列化和反序列化
- C# Json.NET序列化之Newtonsoft.Json
- 模板NeverGiveUpNeverSurrenderTerribleTerribleDamage-PowerOverwhelming
- awt简单应用一 frame
- HDU——2049——2049 ( 不容易系列之(4)——考新郎 )
- S3C6410超频800M配置
- vs2010中 自动对齐快捷键
- Json.Net学习.集合序列化.
- 摇一摇功能的实现
- Flask快速入门
- awt简单应用二 标签Label
- javascript 中的undefined,null,”",0和false
- Informix创建执行和删除带参数的存储过程实例
- HDU——2048——2048 ( 神、上帝以及老天爷 )
- 程序员小说 Out Of Memory
- 动态表格提供数据源给饼图(FusionChart)