关于JSON使用要注意的地方
阅读原文时间:2023年07月11日阅读:1

1、json

    1.JSON对象;(ES5)

        1)JSON.stringify() json---js[json字符串--->JavaScript对象]

        2)JSON.parse() js---json【JavaScript对象--->json字符串】

    2.简写 

        1)(属性和值)名字一样可以简写 

        2)方法一样可以简写

    3.语法规则

        1)数据为 键/值 对

        2)数据由逗号分隔

        3)大括号保存对象

        {JSON 对象在大括号({})中书写,对象可以包含多个名称/值对}

        4)方括号保存数组 

        [JSON 数组在中括号中书写,数组可包含多个对象]

    4.JSON 值可以是:

        1)数字(整数或浮点数)

        2)字符串(在双引号中)

        3)逻辑值(true 或 false)

        4)数组(在中括号中)

        5)对象(在大括号中)

        6)null

2、json的标准写法:
    1.只能用双引号("");
    2.所有的(属性)名字只能用双引号("")包起来;
      如:
        {a:12, b:3, c:'aaa'}---》Wrong!
        {"a":12, "b":3, "c":'aaa'}---》Wrong!
        {"a":12, "b":3, "c":"aaa"}---》Yes!
    3.外面可以用单引号('')
     如:
       let str = '{"a":12, "b":3, "c":"aaa"}';

3、用例如下:

1. 把json变成js对象----JSON.stringify();

    let jsonObj = {a:12,b:3};  
    let str = 'https://www.baidu.com/' + jsonObj;  
    alert(str);  
    // 输出:https://www.baidu.com/\[object Object\]

    let jsonObj = {a:12,b:3};  
    let str = 'https://www.baidu.com/' + JSON.stringify(jsonObj);  
    alert(str);  
    // 输出:https://www.baidu.com/{"a":12,"b":3}  
    // JSON.stringify() 将一个json对象转换成普通字符串; stringify 字符串化

    // 把字符串作为URI组件进行编码 encodeURIComponent  
    let jsonObj = {a:12,b:3};  
    let str = 'https://www.baidu.com/?data=' + encodeURIComponent(JSON.stringify(jsonObj));  
    alert(str);  
    // 输出:https://www.baidu.com/?data=%7B%22a%22%3A12%2C%22b%22%3A3%7D

2.把js对象变成json字符串----JSON.parse();

     /\*  
    注意:Wrong!  
    let str = "{a:12, b:3, c:'bbb'}";  
    let jsonObj = JSON.parse(str);  
    console.log(jsonObj);  
    // Wrong!  
    \*/  
    let str = '{"a":12, "b":3, "c":"bbb"}';  
    let jsonObj = JSON.parse(str);  
    console.log(jsonObj);  
    // 输出:{a: 12, b: 3, c: "bbb"}

3.关于简写

    // (属性和值)名字一样可以简写!  
    let a = 2, b = 3;  
    // let json = {a:a, b:b, c:15};  
    let json = {a, b, c:15};  
    console.log(json);  
    // 输出:{a: 2, b: 3, c: 15}

    // 2.方法一样可以简写  
    let json = {  
        a:12,  
        // json中写方法:  
        show(){  
            alert(this.a);  
        }  
    };