您的位置:首页 > 编程学习 > ASP.NET > 正文

JavaScriptSerializer对Json对象的序列化和反序列化

更多 时间:2015-1-30 类别:编程学习 浏览量:2346

JavaScriptSerializer对Json对象的序列化和反序列化

JavaScriptSerializer对Json对象的序列化和反序列化

在使用JavaScriptSerializer对Json对象的序列化和反序列化时,特别需要注意对日期要特殊处理。

 

一、序列化

 

  •  
  • C# 代码   复制
  • 
    public static string SerToJson(object model)
    
    {
    
         return SerToJson(model,"yyyy-MM-dd HH:mm:ss");
    
    }
    
     public static string SerToJson(object model,string format)
     {
         JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
         string strJson= jsonSerializer.Serialize(model);
         strJson = Regex.Replace(strJson, @"\\\\/Date\\((\\d+)\\)\\\\/", match =>
          {
                    DateTime dt = new DateTime(1970, 1, 1);
                    dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));
                    dt = dt.ToLocalTime();
                    return dt.ToString(format);
          });
          return strJson;
     }
    
    		
  •  


    二、反序列化

     

  •  
  • C# 代码   复制
  • 
            public static T DesFromJson<T>(string strJson) where T : new()
            {
                JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                T model = jsonSerializer.Deserialize<T>(strJson);
    
                if (model == null)
                    model = new T();
    
                return model;
            }
    
    		
  •  

     

    标签:Json 序列化
    您可能感兴趣