JSON.NET(http://json.codeplex.com/)使用来将.NET中的对象转换为JSON字符串(序列化?),或者将JSON字符串转换为.NET中已有类型的对象(反序列化?)@H_403_4@
首先为了例子随便定义一个类型:@H_403_4@
public class Product { string Name { get; set; } public DateTime Expiry { decimal Price { string[] Sizes { set; } override string ToString() { return string.Format("Name:{0},Expiry:{1},Price:{2},SizesCount:{3}",Name,Expiry,Price,Sizes.Length); } }
初始化对象:@H_403_4@
进行到JSON的转换:@H_403_4@
Console.WriteLine(JsonConvert.SerializeObject(product));
{"Name":"android","Expiry":"2013-08-30T09:50:11.5147845+08:00","Price":2000.0,"Sizes":["1.5","2.2","4.1"]}@H_403_4@
其它看起来一切正常,除了这个日期有点怪@H_403_4@
格式化日期:@H_403_4@
//设置日期时间的格式,与DataTime类型的ToString格式相同 IsoDateTimeConverter iso = new IsoDateTimeConverter(); iso.DateTimeFormat = yyyy-MM-dd HH:mm:ss"; Console.WriteLine(JsonConvert.SerializeObject(product,iso));
{"Name":"android","Expiry":"2013-08-30 09:53:58","4.1"]}@H_403_4@
从JSON到对象的转换:@H_403_4@
Name:android,Expiry:2013/8/30 9:53:58,Price:2000.0,SizesCount:3@H_403_4@
从JSON到键值对的转换:@H_403_4@
Name1:小明
Name2:小花
Name3:小红@H_403_4@
从字符串转换到JSON对象,以及JSON对象的简单使用:@H_403_4@
小明
小花
小红@H_403_4@
JObject json = new JObject( new JProperty(Channelnew JObject( titleJSON"),0)">linkJSON.NETdescriptionJSON.NET Descriptionitemsnew JArray( new JObject(haha1123")),0)">haha2456haha3789")) ))))); Console.WriteLine(json.ToString());
{
"Channel": {
"title": "JSON",
"link": "JSON.NET",
"description": "JSON.NET Description",
"items": [
{
"haha1": "123"
},
{
"haha2": "456"
},
{
"haha3": "789"
}
]
}
}@H_403_4@
暂时先记录这么多,以后再继续补充@H_403_4@