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引用对象的方法
Jan 11 Javascript
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
关于textarea提交的内容无法换行的解决办法
Apr 09 Javascript
js格式化时间和js格式化时间戳示例
Feb 10 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
字太多用...代替的方法(两种)
Mar 15 Javascript
js实现一个简单的数字时钟效果
Mar 29 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 Javascript
Vue scoped及deep使用方法解析
Aug 01 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
模仿OSO的论坛(二)
2006/10/09 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
js实现延时加载Flash的方法
2015/11/26 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
JavaScript switch语句使用方法简介
2019/12/30 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
numpy返回array中元素的index方法
2018/06/27 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
财务经理的岗位职责
2013/12/17 职场文书
污水厂厂长岗位职责
2014/01/04 职场文书
灰雀教学反思
2014/04/28 职场文书
节能环保家庭事迹材料
2014/08/27 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
师范生见习总结范文
2015/06/23 职场文书
化验室安全管理制度
2015/08/06 职场文书