ASP.NET C#使用JavaScriptSerializer实现序列化与反序列化得到JSON
在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 = ;
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 > )
{
for (int m = ; 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(, , );
dt = dt.AddMilliseconds(Time);
dt = dt.ToLocalTime();
result = dt.ToString("yyyy/MM/dd HH:mm:ss");
return result;
}
ASP.NET C#使用JavaScriptSerializer实现序列化与反序列化得到JSON的更多相关文章
- .net MVC 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值
在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string url, ...
- 使用JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength属性
"/"应用程序中的服务器错误.使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值. ...
- 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错
如题 报错提示: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值.","Sta ...
- MVC JSON JavaScriptSerializer 进行序列化或反序列化时出错
MVC control中返回json格式数据一般都是如下格式 [HttpPost] public ActionResult CaseAudit(string name) { var data =&qu ...
- JSON JavaScriptSerializer 进行序列化或反序列化时出错。字符串的长度超过了为 maxJsonLength 属性设置的值
在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string u ...
- Java对象序列化与反序列化一 JSON
Java对象序列化与反序列化一 JSON 1. 依赖库 jackson-all-1.6.1.jar 2. 代码 public class Student { private String nam ...
- 序列化与反序列化之JSON
在不同编程语言之间传递对象,须把对象序列化为标准格式,比如XML 但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可被所有语言读取,也可方便地存储到磁盘或者通过网络传输 JSON不 ...
- asp.net JavaScriptSerializer实现序列化和反序列化
通过JavaScriptSerializer来实现.它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库 ...
- python序列化与反序列化(json与pickle)
在python中,序列化可以理解为将python中对象的编码格式转换为json(pickle)格式的字符串,而反序列化可以 理解为将json(pickle)格式的字符串转换为python中对象的编码格 ...
随机推荐
- [转载]网络编辑必知常识:什么是PV、UV和PR值 zz
1.什么是pv PV(page view),即页面浏览量,或点击量;通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标. 高手对pv的解释是,一个访问者在24小时(0点到24点)内到底看了你网 ...
- 【MySQL】囧,mysql忘记用户密码
Ubuntu(12.04)中安装的mysql,忘记记录用户名密码了,不想重装,有木有重设密码的方法? 有位园友给出了解决方法,在mysql 5.6.23上验证没有问题. 详情用力戳这里! 1.结束当前 ...
- 【Linux】基础配置-修改命令提示符的风格
1,效果图: [groot]$ 2,设置步骤: 编辑~/.bashrc文件,在最后增加设置行: #显示当面目录的最后一层目录#PS1='\[\e[32m\][\u@\h \W]$\[\e[m\]'#只 ...
- HttpClient4.3.6 实现https访问
package httptest; import java.io.IOException; import java.nio.charset.Charset; import java.security. ...
- 10个简单实用的 jQuery 代码片段
尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库. 今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段. 1.平滑滚动到 ...
- Linux下安装软件心得
1 软件安装方法: 源代码编译安装:tar.gz等压缩格式,需要经过手动编译,./configure,make ,make install ,然后进行配置操作 二进制安装:tar.gz等压缩格式,解压 ...
- 【HDOJ】3309 Roll The Cube
BFS,考虑一球进洞仅一球滚动以及两球重叠的情况即可. /* 3309 */ #include <iostream> #include <queue> #include < ...
- 【算法Everyday】第二日 求子数组的最大和
题目 // 3.求子数组的最大和 // 题目: // 输入一个整形数组,数组里有正数也有负数. // 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. // 求所有子数组的和的最大值. ...
- -_-#【工具】图片导出PDF
- linux下的webserver BOA及CGIC库的使用指南(转帖)
我把网页挂载到nfs 下面的文件中(需要新建一个文件www ),不过这样很方便! 安装过程 ====================================================== ...