首页 > 代码库 > 序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密
序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密
js中数组不能传递到后台,需进行json序列化:
var data = http://www.mamicode.com/new Array();
data.push({para1:name,para2:answer});
string data = http://www.mamicode.com/JSON.stringify(data)
//解析参数
JavaScriptSerializer js = new JavaScriptSerializer();
List<Dictionary<string, string>> answerList = js.Deserialize<List<Dictionary<string, string>>>(data);
加密(js):
var base64 = new Base64(); data = base64.encode(JSON.stringify(data));
解密(控制器):
data = http://www.mamicode.com/System.Text.ASCIIEncoding.Default.GetString(Convert.FromBase64String(data));
JSON.stringify()【从一个对象中解析出字符串】
var data=http://www.mamicode.com/{name:‘goatling‘}
JSON.stringify(data)
结果是:‘{"name":"goatling"}‘
JSON.parse()【从一个字符串中解析出json对象】
var data=http://www.mamicode.com/‘{"name":"goatling"}‘
?JSON.parse(data)
结果是:?name:"goatling"
JavaScriptSerializer类
JavaScriptSerializer 类用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据。
说白了就是能够直接将一个C#对象传送到前台页面成为javascript对象。
方法:
1.ConvertToType<(Of <(T>)>) 将给定对象转换为指定类型。
2.Deserialize<(Of <(T>)>) 将指定的 JSON 字符串转换为 T 类型的对象。
3.DeserializeObject 将指定的 JSON 字符串转换为对象图。
4.RegisterConverters 使用 JavaScriptSerializer 实例注册自定义转换器。
5.Serialize 已重载。 将对象转换为 JSON 字符串
事例:
1.JavaScriptSerializer jss = new JavaScriptSerializer();
2.Person p = new Person(1, "李雷", 20);
3.string json = js.Serialize(p); //序列化成JSON
4.Person p1 = jss.Deserialize<Person>(json); //再反序列化为Person对象,注意此方法要求目标类有无参构造函数
5.return Json(json, "text/json"); //很好用,但是返回的终归是字符串,返回到前台要解析一下才能变成javascript对象。
6.return Json(new { Id = p1.Id, Name = p1.Name, Age = p1.Age }, "text/json");
//如果这样写,返回到javascript中是不用再解析的,直接就是javascript对象
序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。