js序列化和反序列化的使用讲解
作者:muzidigbig 发布时间:2023-08-05 08:13:24
标签:js,序列化,反序列化
(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序列化数组)
若有不足请多多指教!希望给您带来帮助!
来源:https://blog.csdn.net/muzidigbig/article/details/83305325
0
投稿
猜你喜欢
- 最近被“模块化”缠身,又是文章又是PPT的,被逼着想了很多相关的东西。整理下我这段时间对于“模块化”的思考,大多都是我自己从事页面重构这份工
- 这篇文章不谈大道理,只谈细节。关于facebook的大道理,大家可以去海内网的帖子《谁去救救麦田老师吧》讨论。那里有很多IT评论高手,谈的很
- asp之家注:也许你还没有接触过使用js来调用asp文件,也许你也不知道如何用JS调用asp文件,甚至你也不知道JS调用asp文件有什么好处
- Player.playState0 Undefined Windows Media Player is in an undefined st
- 1、实现效果2、实现步骤模块导入import os,sys,timefrom PyQt5 import QtCore,QtWidgets,Q
- 通常的聊天室所采用的程序,也就是Chat程序了,其基本结构原理是不会采用到数据库的。那究竟采用什么技术呢?我们知道ASP变量当中Sessio
- 这是我研究网页切片算法的一个汇总想法。之前我写过:一种面向搜索引擎的网页分块、切片的原理,实现和演示,随着工作的深入,逐渐碰到以
- 在 Google 搜索结果页面中,将其 Logo 图标右键另存为后可以发现,它并非单纯的
- 要想从命令行启动mysqld服务器,你应当启动控制台窗口(或“DOS window”)并输入命令:C
- flash param参数和属性下列标记属性和参数描述了由“发布”命令创建的 HTML 代码。在编写自己的用于显示 Flash 内容的 HT
- 爱如风过 问:js如何能知道浏览者计算机或者浏览器使用的语言是繁体还是简体?如题,我想用jS检测到浏览者使用的是繁体还是简体中文,以便设置页
- 最近在网上经常看到朋友们聊到UEO,我就想哈UEO是啥东西啊,我去找啦些资料看,他们都说将来UEO发展一定会比较好,我也说这是肯定的.我为什
- 这个收藏本站、设为首页代码相信每个网站都会用到,这么常用的代码,网络上流行的一般是很多年前的代码版本,只有兼容IE,对其它浏览器没有考虑,下
- 当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制 问题的解决方法如下:第一:ACC
- asp判断网址格式是否合法代码 具体实现办法见下列代码:<% function checki
- Chrome的CSS支持程度 :Green / √ means current support.Orange / Δ means that
- 此文译自Fred Wilson 2010年2月在迈阿密举行的Web未来应用的年会上的演讲谢谢青云推荐了这篇这么好的演说谢谢卓和百忙中抽空帮我
- 前几天光耀童鞋喷了一篇《谈网站注册、登录过程》,今天我们在与小爬童鞋梳理购买流程的时候也谈到了这部分内容。其实注册作为一个网站基本功能再普通
- 许多 Microsoft 的编程语言,如 Visual Basic、VBScript 和 Jscript,都提供集合(collection)
- 方案:◆1、SELECT TOP PAGESIZE NEWSTITLEFORM NEWSINFO WHERE NEWSID NOT IN(S