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 相关文章推荐
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
Javascript & DHTML 实例编程(教程)DOM基础和基本API
Jun 02 Javascript
JavaScript中数组对象的那些自带方法介绍
Mar 12 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
Oct 30 Javascript
JavaScript知识点整理
Dec 09 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 Javascript
javascript实现简单的ajax封装示例
Dec 28 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
May 23 jQuery
CKeditor4 字体颜色功能配置方法教程
Jun 26 Javascript
JS如何监听div的resize事件详解
Dec 03 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
TensorFlow绘制loss/accuracy曲线的实例
2020/01/21 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
2014年安全员工作总结
2014/11/13 职场文书
2014年移动公司工作总结
2014/12/08 职场文书
先进班组事迹材料
2014/12/25 职场文书
2015年药房工作总结
2015/04/25 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python