一、JSON.stringify()与JSON.parse()的区别

  JSON.stringify()的作用是将js值转换成JSON字符串,而JSON.parse()是将JSON字符串转换成一个对象。也就是说,如果我们用JSON.stringify()将一个对象变成了字符串,那么使用JSON.parse()将字符串还原成对象。

let obj = {
name:"song",
age:10
};
let changeObj =JSON.stringify(obj);
console.log(changeObj); //"{"name":"song","age":10}"
console.log(typeof changeObj);//string let orig =JSON.parse(changeObj);
console.log(orig);//{name:"song",age:10}
console.log(typeof orig);//object

    

二、JSON.stringify()和JSON.parse()的几种用法

(一)在localStorage/sessionStorage里存储对象/数组/对象数组

     localStorage/sessionStorage默认只能存储字符串,如果要存储对象类型的数据,在存入的时候利用JSON.stringify()将对象转换成字符串,然后在取出来的时候,利用JSON.parse()转会回对象。

 //存数据
localStorage.setItem("cart",JSON.stringify(n)); //取数据
JSON.parse(window.localStorage.getItem("cart"));

(二)vue路由传参(对象)

   有时候如果对象里面只是一两个属性,可以直接利用字面量的方式定义对象,但如果需要传递的对象中有很多属性,那么一个一个的写显然是很不可取的。所以就可以利用JSON.stringify()和JSON.parse()来转换。

 this.$router.push({
name: "DataDetail",
query: {
tabsVal: JSON.stringify(val),
Name: this.$route.query.name
}
});​

(三)实现对象/数组的深拷贝

   其实这样将数据直接转换成字符串然后进行拷贝,完成后在转换回去,倒是一种很不错的方案。

var obj2 = {
name:"L",
age:12,
value:"IU"
}
obj1=JSON.parse(JSON.stringify(obj2));

(四)判断数组/对象是否相等、或则判断是否包含某内容

  用来判断数组/对象是否相等用这种方法确实很容易,将要比较的两者都先转成字符串,然后直接全等于判断即可。

关于JSON.stringify()与JSON.parse()的更多相关文章

  1. JSON.stringify()和JOSN.parse()

    JSON.stringify()跟JSON.parse() 终于把这两个方法搞清楚了!!! JSON.tringify():把一个json数据转化成JSON string JSON.stringify ...

  2. JSON 解析器。JSON.stringify和JSON.parse

    以前用的是JavaScript  的eval. 现在JSON 提供了JSON.stringify和JSON.parse两个函数. JSON.parse用于从一个字符串中解析出json对象. JSON. ...

  3. json.stringify()的妙用,json.stringify()与json.parse()的区别

    一.JSON.stringify()与JSON.parse()的区别 最近做项目,发现JSON.stringify()使用场景真的挺多,我们都知道JSON.stringify()的作用是将 JavaS ...

  4. ZH奶酪:JavaScript中的JSON.stringify() and JSON.parse()

    JSON.stringify() JSON.stringify()可以将任意的JavaScript值序列化成JSON字符串. 语法 JSON.stringify(value[, replacer [, ...

  5. JSON.stringify()与JSON.parse()

    JSON.stringify()用于把一个对象解析成字符串,如 var student = { age: 23, name: 'wang' } JSON.stringify(student); 结果: ...

  6. JSON.stringify()和JSON.parse()

    parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...

  7. 日常积累之JSON.stringify和JSON.parse substr

    1.substr(start,len) 从字符串中读取内容,第一个参数是读取的首位置,如果为负数,则从末尾倒数计数. 第二个参数是要读取的长度. eg: var str = "silence ...

  8. JSON.stringify()、JSON.parse()和eval(string)

    1.JSON.stringify()用于从一个对象解析出字符串,eg: var obj = {"name":"奔跑的蜗牛","age":&q ...

  9. Js中JSON.stringify()与JSON.parse()与eval()详解及使用案例

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.因为采用独立于语言的文本格式,也使用了类似于C语言家族的习惯,拥有了这些特性使使JSON称为理想的数据交换语 ...

随机推荐

  1. SQL SERVER将多行数据合并成一行

    1)比如表中有三列数据: 2)执行如下查询: SELECT [USER_NAME], [USER_ACCOUNT] , [ROLE_NAME] = stuff(( SELECT ',' + [ROLE ...

  2. Nginx 的总结

    目录 Nginx 的产生 Nginx 的用武之地 Web 服务器对比 Nginx 的产生 Nginx 同 Apache 一样都是一种 Web 服务器.基于 REST 架构风格,以统一资源描述符(Uni ...

  3. Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) - A

    题目链接:http://codeforces.com/contest/831/problem/A 题意:给定一个序列,问你这个序列是否是单峰的. 定义单峰的序列为: (序列值的变化趋势)开始是递增的, ...

  4. centos 搭建svn服务器

    1 安装svnserve yum install subversion -y 2 创建仓库 mkdir /svn/rep1 -p mkdir /svn/rep2 -p svnadmin create ...

  5. ZROI2019 提高十连测

    额 掰手指头一数 特么又是第三年十连测了= = 2017一场没打 那时候好像一场比赛也就100人左右 2018前几场还都好好补了 后来开始放飞自我了 这时候一场有150人还多了 2019想让今年的No ...

  6. 批量去除输出数据文件名前面的"\output\“

    for file in \output\*; do mv "\(file" "\){file#\output\_}";done;

  7. $nextTick

    Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextT ...

  8. 一些vue 响应式系统的底层的细节

    当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/ ...

  9. java扫描仪上传文件

    问题: 项目中有一个功能,原来是用ckfinder做的,可以选择本地图片上传至服务器,然后将服务器的图片显示在浏览器中,并可以将图片地址保存到数据库:现在客户觉得麻烦,提出连接扫描仪扫描后直接上传至服 ...

  10. Python_014(面向对象之继承)

    一.面向对象之继承 1.初始继承 引入:面向对象的三大特性:继承,多态,封装 a.继承是创建新类的一种方式,在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类;新建的类称为派生类 ...