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 相关文章推荐
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
Jun 23 Javascript
超精准的javascript验证身份证号的具体实现方法
Nov 18 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
JavaScript实现简单图片轮播效果
Aug 21 Javascript
微信小程序实现下载进度条的方法
Dec 08 Javascript
详解element-ui中form验证杂记
Mar 04 Javascript
微信小程序导入Vant报错VM292:1 thirdScriptError的解决方法
Aug 01 Javascript
关于layui导航栏不展示下拉列表的解决方法
Sep 25 Javascript
js前端如何写一个精确的倒计时代码
Oct 25 Javascript
JavaScript Image对象实现原理实例解析
Aug 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
星际流派综述
2020/03/04 星际争霸
php判断手机访问还是电脑访问示例分享
2014/01/20 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
JavaScript 核心参考教程 内置对象
2009/10/13 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
python备份文件的脚本
2008/08/11 Python
Python中functools模块的常用函数解析
2016/06/30 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
is_file和file_exists效率比较
2021/03/14 PHP
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
安德玛菲律宾官网:Under Armour菲律宾
2020/07/28 全球购物
感恩教师节演讲稿
2014/09/03 职场文书
2014派出所所长群众路线对照检查材料思想汇报
2014/09/18 职场文书
走群众路线学习笔记
2014/11/06 职场文书
2014年社区个人工作总结
2014/12/02 职场文书
未婚证明格式
2015/06/15 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
党风廉政承诺书2016
2016/03/25 职场文书