json的新方法

Posted psxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json的新方法相关的知识,希望对你有一定的参考价值。

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的新方法的主要内容,如果未能解决你的问题,请参考以下文章

HTML5——JSON的新方法

yarn的使用及升级Node.js的新方法

判断json对象是不是为空()

ES6那些事半功倍的新特性

ES6的新特性 — 新增关键字letconst

如何使用 Flask-rest-jsonapi / JSON API 在同一个 POST 方法中创建对象和相关对象?