JSON数据格式

JSON数据格式

  • JSON数据格式:他不是数据类型,它是一种数据格式
  • 一般情况下我们从后台请求来的数据都是json格式的
  • 页面都是动态渲染的;是前端通过请求后台的数据库,后面把最新的数据返回,前面接受到后端返给的数据,然后进行字符串拼接,渲染到页面上;
  • JSON数据格式
    • json格式的对象
    • json格式的字符串
  • JSON.parse:把json格式的字符串转换为json格式的对象
  • JSON.stringify:把json格式的对象转换为json格式的字符串
       //    JSON数据格式:他不是数据类型,它是一种数据格式
        // 一般情况下我们从后台请求来的数据都是json格式的
        // JSON数据格式
        // :json格式的对象
        // :json格式的字符串
        // JSON.parse:把json格式的字符串转换为json格式的对象
        // JSON.stringify:把json格式的对象转换为json格式的字符串
        // let obj = {"name":3} // json格式的对象
        // obj= JSON.stringify(obj)
        // console.log(obj)

        // let obj = '{"name":3}' // json格式的字符串
        // obj=JSON.parse(obj)
        // console.log(obj.name)// 3
---------------------------------------------------------
   			//JSON加减两边反引号,字符串
          var str = "1234";
        console.log(JSON.parse(str));//1234
        console.log(typeof JSON.parse(str));//number
-----------------------------------------------------------
          // 这个是JSON格式的对象
        // var  obj ={"name":"hello","str":"world"};
        // console.log(obj.name);
        // console.log(obj["name"]);
        // 这个是JSON格式的字符串;
        //var str = '{"name":"hello","str":"world"}';

        // JSON.stringify : 将JSON格式的对象转成JSON格式的字符串
        //console.log(JSON.stringify(obj));

        // JSON.parse: 将JSON格式的字符串转成JSON格式的对象
        //console.log(JSON.parse(str))

利用JSON实现浅克隆

        // var  obj = {a:1,b:2};
        // var obj1 = obj;
        // obj1.a=100;
        // console.log(obj);
        var  obj = {a:{c:1},b:2};
        // var newObj = {}
        // for(var key in obj){
        //     newObj[key]=obj[key]
        // }
        // obj.a.c=100;
        // console.log(newObj);
        // 深克隆 :两个对象是独立的,互不影响;
        var newObj = JSON.parse(JSON.stringify(obj));
        obj.a.c=2;
        console.log(newObj);
  • 深克隆参考lodash中的深克隆:lodash

JSON(IE8以下不兼容)

        //数据绑定  JSON 不是数据类型  window下存在的、IE8以下不兼容
        //eval
        console.log('JSON' in window); //IE7 false
        console.log("eval" in window);//true
        var str ='{"a":"1"}'
        console.log(str);//"{"a":"1"}" 
        console.log(eval("("+str+")"));//{a: "1"}  [object Object]

你可能感兴趣的:(JS)