码迷,mamicode.com
首页 > Web开发 > 详细

json的新方法

时间:2019-08-29 11:42:26      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:一个   对象引用   解决方法   方法   hello   class   解决   gif   修改   

eval:可以解析任何字符串变成js

parse:只能解析JSON形式的字符串变成JS (安全性要高一些)         

parse():把字符串转成json

             ---字符串中的属性要严格的加上引号

stringify():把json转化成字符串

               ----会自动把双引号加上

还可以进行对象引用

var a = {
        name:hello
    };
    var b = a;
    b.name = hi
    console.log(a.name)//hi

修改b的属性值的时候,a的属性值也会发生改变。

解决方法:用for in 就不会存在对象引用关系了
  

 var a ={
        name:hello
    };
    var b ={};
    for(var attr in a){
        console.log(attr)//name
        console.log(a[attr])//hello
        b[attr] = a[attr];
    }
    b.name = hi
    console.log(a.name)//hello

另一种写法:

  var a ={
        name:hello
    };
    var str = JSON.stringify(a);
    //得到一个新的对象
    var b = JSON.parse(str);

    b.name = hi
    console.log(a.name)

深层次的拷贝,可以利用递归(麻烦)
 另一种解决方法

var a ={
        name:{age:100}
    };
    var str = JSON.stringify(a);
    //得到一个新的对象
    var b = JSON.parse(str);

    b.name.age = hi
    console.log(a.name.age)

 

json的新方法

标签:一个   对象引用   解决方法   方法   hello   class   解决   gif   修改   

原文地址:https://www.cnblogs.com/psxiao/p/11428358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!