使用Newtonsoft.Json

首先是前一段某博友对于循环引用的问题的解决:http://www.cnblogs.com/Gryzor/archive/2013/05/06/3062373.html

其次是时间到底是UTC还是Local的问题:http://www.cnblogs.com/leonwang/archive/2013/05/29/javascript-datetime.html

对于第二条,不是说哪个就一定正确,问题是要更直接的满足我们的需求,微软内置了json是方便,但是总的来说newtonjson更完善更靠谱些。 我要说的就这些,随手附上基于newtonjson可简单使用的序列化类。其中展示了一些可能会用到的设置,大家可以自行提取成参数或者加上对象方法。

 

public class Json
    {

        public static string Serializer(object obj, JsonSerializerSettings settings)
        {

            JsonSerializer scriptSerializer = JsonSerializer.Create(settings);
            var sw = new StringWriter();
            scriptSerializer.Serialize(sw, obj);
       var str = sw.ToString();
       sw.Close();
return str;
      }
public static string Serializer(object obj) { var Settings = new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Ignore, DateTimeZoneHandling = DateTimeZoneHandling.Local }; return Serializer(obj, Settings); } public static T DeSerializer<T>(string str) { var scriptSerializer = JsonSerializer.Create(Settings); var sr = new JsonTextReader(new StringReader(str)); T obj = scriptSerializer.Deserialize<T>(sr); sr.Close(); return obj; } }

 注:JsonConvert类有更加直接现成的方法。

posted @ 2013-05-31 09:30  咖喱gg  阅读(499)  评论(0编辑  收藏  举报