json格式数据

mac2022-06-30  25

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 也可以使用符号来取代;如:'---';   

转载于:https://www.cnblogs.com/Riona-C/p/9136073.html

最新回复(0)