序列化和反序列化在浏览器和 Web 服务器之间传递的数据、加密解密

2021-06-28 21:06

阅读:652

标签:返回   技术分享   coding   字符   des   dict   return   http   pts   

js中数组不能传递到后台,需进行json序列化:

var data = new Array();

data.push({para1:name,para2:answer});

string data = JSON.stringify(data)

//解析参数
JavaScriptSerializer js = new JavaScriptSerializer();
List> answerList = js.Deserialize>>(data);

加密(js):  
var
base64 = new Base64(); data = base64.encode(JSON.stringify(data));
解密(控制器):
data = System.Text.ASCIIEncoding.Default.GetString(Convert.FromBase64String(data));
JSON.stringify()【从一个对象中解析出字符串】
var data={name:‘goatling‘}
JSON.stringify(data)
结果是:‘{"name":"goatling"}‘
JSON.parse()【从一个字符串中解析出json对象】
var data=‘{"name":"goatling"}‘
?JSON.parse(data)
结果是:?name:"goatling"
JavaScriptSerializer
JavaScriptSerializer 类用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据。
说白了就是能够直接将一个C#对象传送到前台页面成为javascript对象。
方法:
1.ConvertToType)>) 将给定对象转换为指定类型。
2.Deserialize)>) 将指定的 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(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 服务器之间传递的数据、加密解密

标签:返回   技术分享   coding   字符   des   dict   return   http   pts   

原文地址:http://www.cnblogs.com/llljpf/p/7142390.html


评论


亲,登录后才可以留言!