json.net 是一个用C#写的Json的操作类库,可以在http://json.codeplex.com/ 下载
对象序列化为json字符串
public class Product { public string Name { get; set; } public DateTime Expiry { get; set; } public decimal Price { get; set;} public string[] Sizes { get; set; } } static void Main(string[] args) { Product product = new Product() { Name ="android",Expiry =new DateTime (),Price =2000,Sizes =new string[]{"1.5","2.2","4.1"} }; Console.WriteLine(JsonConvert.SerializeObject(product)); Console.Read(); }
输出 :
{"Name":"android","Expiry":"\/Date(-62135596800000 0800)\/","Price":2000.0,"Size s":["1.5","2.2","4.1"]}
设置时间类型的格式 两个用来序列化时间的对象IsoDateTimeConverter JavaScriptDateTimeConverter
Console.WriteLine(JsonConvert .SerializeObject (product,new IsoDateTimeConverter())); Console.WriteLine(JsonConvert.SerializeObject(product,new JavaScriptDateTimeConverter()));
输出
{"Name":"android","Expiry":"2000-09-09T00:00:00","Sizes":["1.5"," 2.2","4.1"]} {"Name":"android","Expiry":new Date(968428800000),"Sizes":["1.5","2.2","4.1"]}
自定义输出时间格式
IsoDateTimeConverter iso = new IsoDateTimeConverter(); iso.DateTimeFormat = "yyyy-MM-dd";//设置事件的格式 Console.WriteLine(JsonConvert.SerializeObject(product,iso));
输出
{"Name":"android","Expiry":"2000-09-09","4.1 "]}
反序列化
Product p=(Product)JsonConvert.DeserializeObject(str,typeof(Product));
创建Jobject对象
JObject rss = new JObject( new JProperty("channel",new JObject( new JProperty("title","James Newton-King"),new JProperty("link","http://james.newtonking.com"),new JProperty("description","James Newton-King's blog."),new JProperty("item",new JArray( from p in posts orderby p.Title select new JObject( new JProperty("title",p.Title),new JProperty("description",p.Description),new JProperty("link",p.Link),new JProperty("category",new JArray( from c in p.Categories select new JValue(c))))))))); Console.WriteLine(rss.ToString());
直接用对象创建Jobject对象
JObject obj = JObject.FromObject(new Product() { Name = "android",Expiry = new DateTime(2000,9,9),Price = 2000,Sizes = new string[] { "1.5","4.1" } });
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。