首页 > 学院 > 开发设计 > 正文

Newtonsoft.Json 序列化日期问题解决

2019-11-17 02:03:08
字体:
来源:转载
供稿:网友

Newtonsoft.Json 序列化日期问题解决

上代码

其中的使用方法和UserInfo实体对象就不贴代码了。

        /// <summary>        /// 把对象转成json字符串        /// </summary>        /// <param name="o">对象</param>        /// <returns>json字符串</returns>        public static string SerializeToJson(object data)        {            return JsonConvert.SerializeObject(data);        }    

得到结果(红色字体

 var data = {                "dbstring": "test",                "modelUserInfo": {                    "User_ID": 1002,                    "User_Name": "lx99959@QQ.com",                    "Real_Name": "lx99959@qq.com",                    "PassWord": "96e79218965eb72c92a549dd5a330112",                    "Mobile": "13121893780",                    "Email": "",                    "IDCard": "",                    "Source": 1,                    "Lat": 34.2627525,                    "Lng": 117.19381,                    "PRecision": 0,                    "Weixin_OpenID": "",                    "Role_Code": "[Master]",                    "Status": 0,                    "Login_Count": 19,                    "LastLogin_Date": "/Date(1417165362307)/",                    "LastLogin_ip": "127.0.0.1",                    "Create_Date": "/Date(1417104000000)/",//时间会成这种格式                    "Create_IP": "127.0.0.1"                }            }

方法优化

给SerializeObject方法加了重载参数var timeConverter = new IsoDateTimeConverter { DateTimeFormat = DateTimeFormats };

        public static string SerializeToJson(object data, string DateTimeFormats = "yyyy-MM-dd HH:mm:ss")        {            var timeConverter = new IsoDateTimeConverter { DateTimeFormat = DateTimeFormats };            return JsonConvert.SerializeObject(data, Formatting.Indented, timeConverter);        }

其他方法

        /// <summary>        /// 把json字符串转成实体对象        /// </summary>        /// <typeparam name="T">对象</typeparam>        /// <param name="data">json字符串</param>         public static T DeserializeToModel<T>(string data)        {            return JsonConvert.DeserializeObject<T>(data);        }        /// <summary>        /// 将json字符串转换成list<T>        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="data"></param>        /// <returns></returns>        public static List<T> DeserializeToList<T>(string data)        {            return JsonConvert.DeserializeObject<List<T>>(data);        }

注意:将json list字符串转换成list<T>的时候可能会出问题。Look下面的modelUser_InfoList是一个实体列表list,然而前面的code和msg属于自定义字段。

调用方法:DeserializeToList<T>(string data) 记得取出data里面的数组传入参数

           return JsonUtils.SerializeToJson(new            {                code = "1",                msg = "success",                data = modelUser_InfoList            });

示例:

JObject obj = JObject.Parse(json_list);string json = obj["data"].ToString();List<User_Info> listGetResultInfo = JsonUtils.DeserializeToList<User_Info>(json);

原文地址:http://www.VEVb.com/lxsweat/p/4372508.html


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表