json格式数据

1. json数据格式?

  1)JSON全称是 javascript Object Notation

  2)通过键值对存储数据;

  3)JSON不是javascript 的子集;

    -JSON可以包含U+2028 和 U+2029 ,JS字符串不能;

2. JSON数据格式的特点?

  1)以{起始,}结束的键值对或数组;

  2)双引号包裹键名;

  3)JSON字符串中不可添加注释;

  例如:

let data = '{
"data":{
"name":"petter",
"phonenumber":12344555,
"career":{
"componany":"imooc",
"title":"frontend engeneer"
},
"project":["home","page"]
}
}'

3. JSON.parse(data); //使用此方法,转化字符串,如果json数据格式正确,则返回json数据,如果json数据格式有误,则此方法抛出异常;

4.JS中如何使用JSON数据?
  1)JSON数据本质上是一个字符串;
  2)可以通过eval、JSON.parse等方式转化为对象;
  3)注意使用try catch;(在转化的过程中可能会出现异常,要使用try catch进行抛出异常)

5.JSON对象的方法?
  1)JSON对象仅有两个方法parse和stringify;
    parse方法案例:
     var str = '{"data":1}';
     console.log(JSON.parse(str)); //===> object {data:1}
     console.log(JSON.parse('null')); //===> null
     console.log(JSON.parse('"abc"')); //===> string abc
     console.log(JSON.parse('[1,2,3,]')); //===> 抛出异常 throw error 因为不能加尾逗号;
  第二个参数的作用:
    var str = '{"data":1,"a":{"b":5}}';
    console.log(JSON.parse(str,function(k,v){ //解析函数,接收两个函数,属性名和属性值
    console.log(k);
    if(k === ''){
    return v;
    }
    if(typeof v === 'number'){
    return v*100;
    }
    return v;
    }))
    eval方法:会把传入的参数作为js语句执行;而JSON.parse只是把字符串转化为对象;
  2)parse方法和stringify方法调用时注意要用try catch来处理抛出异常;
  3)IE8也支持json对象,兼容性很好;
  4)sringify方法的:
    1> 将值或者对象转化为JSON数据格式;
    2> 第二个参数接收一个替换函数;
    3> 第三个参数接收一个缩进格式;
    例如:
      
    var str = '{"data":1,"a":{"b":5}}';
    console.log(JSON.parse(str,function(k,v){ //替换函数,接收两个函数,属性名和属性值
    console.log(k);
    if(v === 5){
    return 10;
    }
    return v;
    },10)) //第三个参数为缩进的空格数,最多为10 也可以使用符号来取代;如:'---';








  

猜你喜欢

转载自www.cnblogs.com/Riona-C/p/9136073.html
今日推荐