js序列化和反序列化的使用讲解


Posted in Javascript onJanuary 19, 2019

(1)序列化

即js中的Object转化为字符串

1.使用obj.toJSONString()

var str=obj.toJSONString(); //将JSON对象转化为JSON字符

2.使用JSON.stringify(obj)

var str=JSON.stringify(obj); //将JSON对象转化为JSON字符

(2)反序列化

即js中JSON字符串转化为Object

1.使用eval('('+josnStr+')')

var obj=eval("("+data+")");

为什么要 eval这里要添加 "("+data+");//”呢?

原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。

2.使用jsonStr.parseJSON()

​var obj = jsonStr.parseJSON(); //由JSON字符串转换为JSON对象

3.使用parse(jsonStr)

var obj = JSON.parse(data); //由JSON字符串转换为JSON对象

(3)使用场景

1.向后台传递参数、接收后台返回值

  如果后台返回的是一个String(Object序列化后返回),那么需要在js中使用eval或者parse等转化为Object再使用;

  如果返回时传递了类型,比如就是Object,那么直接使用就好

2.在页面间传递数据,特别是数组时

  需要使用序列化,否则IE会报错:不能执行已经释放Script的代码

3.在进行本地存储时

  存储在本地window.localStorage.setItem(key,value)存储的value是json序列化的字符串;获取得到的window.localSorage.getItem(key)也是json序列化的字符串,需要经过json的反序列化进行使用(常见json序列化数组)

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
jquery 打开窗口返回值实现代码
Mar 04 Javascript
javascript 事件查询综合 推荐收藏
Mar 10 Javascript
JavaScript 对象模型 执行模型
Oct 15 Javascript
js实现屏幕自适应局部代码分享
Jan 30 Javascript
详解JavaScript中void语句的使用
Jun 04 Javascript
JavaScript的==运算详解
Jul 20 Javascript
在Docker快速部署Node.js应用的详细步骤
Sep 02 Javascript
JavaScript实现页面无操作倒计时退出
Oct 22 Javascript
VUE实现表单元素双向绑定(总结)
Aug 08 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
Oct 24 Javascript
vue点击当前路由高亮小案例
Sep 26 Javascript
vue-router传参用法详解
Jan 19 #Javascript
vue-router实现嵌套路由的讲解
Jan 19 #Javascript
vue-router实现编程式导航的代码实例
Jan 19 #Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 #Javascript
vue-router命名路由和编程式路由传参讲解
Jan 19 #Javascript
Vue实现的父组件向子组件传值功能示例
Jan 19 #Javascript
vue-router命名视图的使用讲解
Jan 19 #Javascript
You might like
7个超级实用的PHP代码片段
2011/07/11 PHP
PHP 类与构造函数解析
2017/02/06 PHP
php使用include 和require引入文件的区别
2017/02/16 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
探索Emberjs制作一个简单的Todo应用
2012/11/07 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
JavaScript SHA512加密算法详细代码
2016/10/06 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
AngularJS 前台分页实现的示例代码
2018/06/07 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
Python写的一个简单监控系统
2015/06/19 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
python 执行shell命令并将结果保存的实例
2018/05/11 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
基于python中__add__函数的用法
2019/11/25 Python
如何在 Django 模板中输出 "{{"
2020/01/24 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
用 Python 制作地球仪的方法
2020/04/24 Python
python 等差数列末项计算方式
2020/05/03 Python
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
什么是URL
2015/12/13 面试题
本科生详细的自我评价
2013/09/19 职场文书
餐饮总经理岗位职责
2014/03/07 职场文书
村抢险救灾方案
2014/05/09 职场文书
英语课外活动总结
2014/08/27 职场文书
实习生辞职信范文
2015/03/02 职场文书