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 相关文章推荐
JS随即打乱数组实现代码
Dec 03 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
jquery动感漂浮导航菜单代码分享
Apr 15 Javascript
理解javascript中的严格模式
Feb 01 Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 Javascript
AngularJS路由切换实现方法分析
Mar 17 Javascript
Vue组件tree实现树形菜单
Apr 13 Javascript
vue2 中如何实现动态表单增删改查实例
Jun 09 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
Sep 15 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
js基础之事件捕获与冒泡原理
Oct 09 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
解析左右值无限分类的实现算法
2013/06/20 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
Javascript基础知识(三)BOM,DOM总结
2014/09/29 Javascript
jQuery中:hidden选择器用法实例
2014/12/30 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
JavaScript 函数的定义-调用、注意事项
2017/04/16 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
详解promise.then,process.nextTick, setTimeout 以及 setImmediate的执行顺序
2018/11/21 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
使用Python下载Bing图片(代码)
2013/11/07 Python
多版本Python共存的配置方法
2017/05/22 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
对python sklearn one-hot编码详解
2018/07/10 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
django 消息框架 message使用详解
2019/07/22 Python
python装饰器的特性原理详解
2019/12/25 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
美国在线宠物商店:Chewy
2019/01/12 全球购物
英国豪华家具和家居用品购物网站:Teddy Beau
2020/10/12 全球购物
公司营业员的工作总结自我评价
2013/10/05 职场文书
25岁生日感言
2014/01/13 职场文书
个人考核材料
2014/05/15 职场文书
后备干部培训方案
2014/05/22 职场文书
期末个人总结范文
2015/02/13 职场文书
2015年干部教育培训工作总结
2015/05/15 职场文书
给朋友的赠语
2015/06/23 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL