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参数值中含有单引号或双引号问题的解决方法
Nov 06 Javascript
jquery实现的一个简单进度条效果实例
May 12 Javascript
JS实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
jQuery获得document和window对象宽度和高度的方法
Mar 25 Javascript
JavaScript实现移动端滑动选择日期功能
Jun 21 Javascript
基于JavaScript实现轮播图代码
Jul 14 Javascript
浅析Node.js实现HTTP文件下载
Aug 05 Javascript
JS中数组重排序方法
Nov 11 Javascript
Bootstrap整体框架之JavaScript插件架构
Dec 15 Javascript
vue实现简单的MVVM框架
Aug 05 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
js blob类型url的视频下载问题的解决
Nov 29 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
简单采集了yahoo的一些数据
2007/02/14 PHP
PHP伪静态写法附代码
2008/06/20 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
2013/10/24 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
JS实现获取键盘按下的按键并显示在页面上的方法
2015/11/04 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
python安装cx_Oracle和wxPython的方法
2020/09/14 Python
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
Under Armour西班牙官网:美国知名的高端功能性运动品牌
2018/12/12 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
便利店的创业计划书
2014/01/15 职场文书
应届生自荐信范文
2014/02/21 职场文书
摄影展策划方案
2014/06/02 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
2015年财务部年度工作总结
2015/05/19 职场文书
刑事申诉状范文
2015/05/20 职场文书
如何写通讯稿
2015/07/22 职场文书
html5 录制mp3音频支持采样率和比特率设置
2021/07/15 Javascript