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 相关文章推荐
IE和Mozilla的兼容性汇总event
Aug 12 Javascript
js活用事件触发对象动作
Aug 10 Javascript
jqgrid 编辑添加功能详细解析
Nov 08 Javascript
JavaScript判断浏览器类型的方法
Feb 10 Javascript
简介JavaScript中的getSeconds()方法的使用
Jun 10 Javascript
jQuery替换textarea中换行的方法
Jun 10 Javascript
在Vue中使用highCharts绘制3d饼图的方法
Feb 08 Javascript
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
解决Vue+Electron下Vuex的Dispatch没有效果问题
May 20 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
Apr 13 Javascript
Javascript使用integrity属性进行安全验证
Nov 07 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
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
Linux下php5.4启动脚本
2014/08/03 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
JQuery扩展插件Validate 2通过参数设置验证规则
2011/09/05 Javascript
JQuery操作单选按钮以及复选按钮示例
2013/09/23 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
原生js实现验证码功能
2017/03/16 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
python 实现归并排序算法
2012/06/05 Python
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
Django中Model的使用方法教程
2018/03/07 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
使用python脚本实现查询火车票工具
2018/07/19 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
python 实现得到当前时间偏移day天后的日期方法
2018/12/31 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
Django ORM filter() 的运用详解
2020/05/14 Python
Python LMDB库的使用示例
2021/02/14 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
周年庆典邀请函范文
2014/01/24 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
幼儿园小班工作总结2015
2015/04/25 职场文书
2015年公司工作总结
2015/04/25 职场文书