zoukankan      html  css  js  c++  java
  • JSON的新方法--parse()和stringify()

    // eval 可以解析任何字符串变成js 
            var str = 'function show() {console.log(1)}';
            eval(str);
            show();    //    1
    // parse 只能解析JSON形式的字符串变成js
            var str = 'function show() {console.log(1)}';
            JSON.parse(str);    //报错
            show();
    // parse() 把字符串转成json--字符串中的属性要严格的加上引号
            var str = '{name:"hello"}';
            var json = JSON.parse(str);    //报错
            console.log(json.name);    
    var str = '{"name":"hello"}';
            var json = JSON.parse(str);    
            console.log(json.name);        // hello
    // stringify() 把json转化成字符串--会自动的把双引号加上
            var json = {name:'hello'};
            var str = JSON.stringify(json);
            console.log(str);    // {"name":"hello"}
    // 深度克隆对象
            var a = {
                name: 'hello'
            }
            var b = a;
            var c = {};
            for (var attr in a) {
                c[attr] = a[attr];
            }
            b.name = 'hi';
            console.log(a.name);    // hi b.name的修改影响了a
            console.log(c.name);    // hello for in实现了浅拷贝
    
            // 深拷贝
            var d = {
                name: 'hello',
                person: {age: 18}
            }
            var str = JSON.stringify(d);
            var e = JSON.parse(str);
            e.person.age = 20;
            console.log(d);    // // {name: "hello", person: {age: 18}}
            console.log(e);    // {name: "hello", person: {age: 20}}

    parse()和stringify() 其他浏览器做到兼容-http://www.json.org/去下载json2.js 

  • 相关阅读:
    PHP03
    PHP02
    CentOS7安装GeoServer
    uDig配图与GeoServer添加Style
    udig下载、安装及汉化
    Intellij热部署插件JRebel
    IDEA中Lombok插件的安装与使用
    IEDA 自动生成类注释和方法注释
    Elasticsearch中text与keyword的区别
    Elastic search 7.X 去掉了type的原因
  • 原文地址:https://www.cnblogs.com/jianglibaizhi/p/10579402.html
Copyright © 2011-2022 走看看