JSON.stringify的作用
是一个用于序列化对象的方法
接受三个参数:json.stringify(value,replacer,space)
第一个参数:value表示要被序列化的对象(接受对象或数组类型)
第二个参数:replacer表示对象中要序列化的属性(接受数组和函数类型)
第三个参数:space用于描述序列化后的缩进字符数,用于美化格式
面试(应用场景):
场景一:localStorage存储
loaclStorage只能存储字符串的存储类型 是键值对的格式
例:const obj={a:'1',b:'2'}
localStorage.setItem('key',obj)
localStorage.getItem('key') //'[object Object]' 存储失败
解决:使用localStorage.stringify()
localStorage.setItem('key',JSON.stringify(obj))
localStorage.getItem('key') //'{"a":"1","b":"2"}'存储成功
JSON.parse(localStorage.getItem('key')) //{a:'1',b:'2'}再利用JSON.parse()提取出来
场景二:对象的深拷贝
例:let arr={a:'1',b:'2'}
let arr2=arr
arr2.a='111'
console.log(arr.a)//'111'
解决:利用JSON.stringify和JSON.parse给对象做深拷贝
let arr3=JSON.stringify(JSON.parse(arr))
arr3.b='2222'
console.log(arr.b)//'2'
场景三:删除对象属性
方法1:delete方法删除
let obj={a:'1',b:'2'}
delete obj.a
log(obj)//{b:'2'}
方法2:利用JSON.stringify()的第二个参数进行删除
let obj = { a: "1", b: "2" };
let obj1 = JSON.parse(
JSON.stringify(obj, (key, value) => {
if (key === "b") {
return undefined;
} else {
return value;
}
})
);
console.log(obj1); //{a:'1'}
或:
let obj = { a: "1", b: "2" };
let obj1 = JSON.parse(
JSON.stringify(obj,['b'])
);
console.log(obj1); //{a:'1'}
JSON.stringify的作用相关推荐
- JSON.parse()、JSON.stringify()和eval()的作用
浅谈JSON.parse().JSON.stringify()和eval()的作用 相信大家对于JSON应该不陌生,度娘对这个名词的解释大致如下: "JSON(JavaScript Obje ...
- 【js】JSON.stringify 语法实例讲解
语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段.就是你输入的对象,比如数组,类等. replacer:这个是可选的.它又分为 ...
- json.stringify()与json.parse()的区别,json.stringify()的妙用
一.JSON.stringify()与JSON.parse()的区别 最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 JavaS ...
- php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
这次给大家带来JSON.parse()与JSON.stringify()和eval()使用方法详解,JSON.parse()与JSON.stringify()和eval()使用的注意事项有哪些,下面就 ...
- JSON.stringify 语法实例讲解
作用:这个函数的作用主要是为了序列化对象的. 可能有些人对序列化这个词过敏,我的理解很简单.就是说把原来是对象的类型转换成字符串类型(或者更确切的说是json类型的).就这么简单.打个比方说,你有一个 ...
- 原生js实现JSON.parse()和JSON.stringify()
- 首先JSON.stringify()是将js对象转换为JSON形式 实现思路: 通过递归调用,来实现对转换对象Object的深层value进行遍历,利用array的join实现最终字符串拼接 fu ...
- 前端:JSON.stringify() 的 5 个秘密特性
JSON.stringify() 方法能将一个 JavaScript 对象或值转换成一个 JSON 字符串. 作为一名 JavaScript 开发人员,JSON.stringify() 是用于调试的最 ...
- JSON.parse和JSON.stringify
前言 JSON(JavaScript Object Notation)是一种语法,可用来序列化对象.数组.数值.字符串.布尔值和 null .它基于 JavaScript 语法,但与之不同:JavaS ...
- JSON.stringify() 详解
该函数的作用是:系列化对象 系列化对象说白了就是把对象的类型转换为字符串类型 语法 JSON.stringify(value[, replacer [, space]]) value 将要序列化成 ...
最新文章
- 深js, jsconf China 回顾
- Observer模式在J2EE中的实现
- mysql:Column id cannot be null
- undefined reference to 问题解决方法
- java 短链跳转原理_给你代码:短链接生成原理
- android graphics pipeline
- 上海高考女生计算机专业,@2020高考:女生最多的15个专业,一辈子的好友就在这里...
- 服务器说你注册过多,为什么我的世界服务器说此用户名已被注册我都换了很多用户了都没用 爱问知识人...
- python字符串补空格输出_python实现指定字符串补全空格、前面填充0的方法
- 石头扫地机器人音量怎么调_石头的新扫地机器人 T6,内外都有升级
- 修改R语言安装包的默认路径 r包安装位置
- vb6引用vbRichClient5 下载对象 cDownloads 简单示例
- 怎么计算中国股市分红最高的股票?什么是股息率?--使用python和tushare获取分红最高的股票
- Excel实用技巧-如何批量提取excel工作表名称
- 求最大公约数的4种算法(C++)
- CS294-112 深度强化学习 秋季学期(伯克利)NO.9 Learning policies by imitating optimal controllers...
- 家里宽带都200M了,为什么网速这么慢?简单设置一下
- BTA分论坛现场直击|区块链与投资,不是“钱”那么简单!
- 纪念左耳朵耗子(陈皓)
- html5在手机端调用摄像头的介绍以及新特性