• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NETC#使用JavaScriptSerializer实现序列化与反序列化得到JSON

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在JavaScriptSerializer中,我们可以看到下面可以使用的方法或者构造函数,它们都是实例方法:

Member Description
JavaScriptSerializer() 构造函数,用于创建一个新的JavaScriptSerializer对象,不指定JavaScriptTypeResolver
JavaScriptSerializer(JavaScriptTypeResolver) 构造函数,用于创建一个新的JavaScriptSerializer对象,并使用指定的JavaScriptTypeResolver来映射特定类型与标识字符串。
ConvertToType<T>(Object) 将给定对象转化成类型T。
Deserialize<T>(String) 将JSON字符串转化为类型T。
DeserializeObject(String) 将JSON字符串转化为一个对象。
MaxJsonLength 获取或者设置序列化时能够接受的JSON字符串的最大长度。
RecursionLimit 获取或者设置在反序列化JSON字符串时递归的最大深度。
RegisterConverters(IEnumerable<JavaScriptConverter>) 注册序列化过程中使用的JavaScriptConveter对象。
Serialize(Object) 将一个对象序列化成JSON字符串。
Serialize(Object, StringBuilder) 将一个对象序列化到一个StringBuilder中。

C#代码:

        //类
     public class UserInfo
        {
            public Int Id { get; set; }
            public String UserName { get; set; }
            public DateTime Time { get; set; }
        }
        //代码
        public void js()
        {
       //源数据 UserInfo info = new UserInfo(); info.Id = 1; info.UserName = "张三"; info.Time = DateTime.Now;        //初始化 System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();        //序列化,strJson就是josn串 String strJson = jss.Serialize(info);//输出结果:{"Id":1,"UserName":"张三","Time":"\/Date(1297950721668)\/"}
       //方式一:反序列化,转成model UserInfo info2 = jss.Deserialize<UserInfo>(strJson);
       //方式二:JavaScriptObject JavaScriptObject jObject = JavaScriptConvert.DeserializeObject(strJson) as JavaScriptObject; string UserName = jObject["UserName"].ToString(); string Time = jObject["Time"].ToString();//时间格式需要特殊处理 Time = Time.Replace("/Date(","").Replace(")/","");//替换掉/Date(),只保留里面的数字 Time = ConvertJsonDateToDateString(Convert.ToInt64(Time)); //如果josn里还包含josn,那么就需要这么写。 JavaScriptArray JsonData = (JavaScriptArray)jObject["records"]; if (JsonData.Count > 0) { for (int m = 0; m < JsonData.Count; m++) { JavaScriptObject orderObj = (JavaScriptObject)JsonData[m]; } } } /// <summary> /// 将Json序列化的时间由/Date(1503996878)/转为字符串 /// </summary> public string ConvertJsonDateToDateString(long Time) { string result = string.Empty; DateTime dt = new DateTime(1970, 1, 1); dt = dt.AddMilliseconds(Time); dt = dt.ToLocalTime(); result = dt.ToString("yyyy/MM/dd HH:mm:ss"); return result; }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET页面事件加载顺序发布时间:2022-07-10
下一篇:
ASP.NETMVC中的拦截器发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap