1、使用json.net 组件 生成JSON字符串,自定义日期格式
摘自:http://www.cnblogs.com/hxling/archive/2010/11/08/1871633.html
public static string ToJson(object obj,bool formatjson) { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); IsoDateTimeConverter idtc = new IsoDateTimeConverter(); idtc.DateTimeFormat = "yyyy-MM-dd hh:mm:ss"; JsonSerializer serializer = new JsonSerializer(); serializer.Converters.Add(idtc); JsonWriter jw = new JsonTextWriter(sw); if (formatjson) { jw.Formatting = Formatting.Indented; } serializer.Serialize(jw, obj); return sb.ToString(); } 生成的日期格式为一字符串,这样便于客户端处理! 2、自定义反序列化 参考: http://www.cnblogs.com/nightcat/archive/2011/03/03/1970400.htmls 在我们需要反序列化的类和json中的数据完全匹配的情况下,使用DeserializeObject方法是最方便快速的,切忌类型要一致,否则会出现无法转换的错误。 T or = JsonConvert.DeserializeObject < T > (jsonString); 如果我们需要更灵活的反序列化方法,可以使用Newtonsoft.Json.Linq下的JObject进行,利用这个方法我们就可以很方便的控制反序列化后每个属性的类型,具体看例子,例子来着json.NET的文档: string jsonText = @"{ 2 ""short"":{ 3 ""original"":""http://www.foo.com/"", 4 ""short"":""krehqk"", 5 ""error"":{ 6 ""code"":0, 7 ""msg"":""No action taken""} 8 }"; 9 10 JObject json = JObject.Parse(jsonText);11 12 Shortie shortie = new Shortie13 {14 Original = (string)json["short"]["original"],15 Short = (string)json["short"]["short"],16 Error = new ShortieException17 {18 Code = (int)json["short"]["error"]["code"],19 ErrorMessage = (string)json["short"]["error"]["msg"]20 }21 };22 23 Console.WriteLine(shortie.Original);24 // http://www.foo.com/25 26 Console.WriteLine(shortie.Error.ErrorMessage);27 // No action taken 3、Json.net说法——(二)集合序列化 摘自:http://www.cnblogs.com/jams742003/archive/2009/12/25/1631829.html 4、通过属性标签自定义JSON序列化 http://www.cnblogs.com/jams742003/archive/2009/12/24/1631587.html 5、在线帮助 http://james.newtonking.com/projects/json/help/转载于:https://www.cnblogs.com/lzm525/archive/2011/04/27/2030756.html
相关资源:C#的json.net