美文网首页
第二十四章 JSON

第二十四章 JSON

作者: 扶光_ | 来源:发表于2021-06-07 14:31 被阅读0次

    JSON

    什么是JSON呢?

    json是一种轻量级的数据格式的 (并不是js中独有的数据格式)
    是用来存储表示数据的

    JSON可以表达三种类型的值
    1.简单值 2.对象 3.数组包括字符串,数值,布尔值,空 (不包含undefined)

    JSON的表示方式

          '{"name":"小卤蛋","age":"20"}'
    

    但是一般情况下JSON的表示方式不是这样,而是数组和对象的结合形式

        '[{"name":"李华","age":"20"},{"name":"李四","age":"28"},]'
    

    那么我们来输出一下并检查一下他的数据类型

     var data = `[{"name":"李华","age":"20"},{"name":"李四","age":"28"}]`;
           console.log(data);
           console.log(typeof data);//String
    
    JSON

    序列化和反序列化

    就是指JSON格式的数据和普通数组对象的格式来回转换
    下面来说说JSON的序列化反序列化
    什么是序列化和反序列化呢?

    序列化:

    原生的数组对象可以转换为JSON的字符串

    关键字JSON.Stringify() 括号里面有三个参数 第一个参数是需要转换JSON类型字符串的数据,第二个参数是数组或函数,用来进行过滤筛选的,第三个参数是排版格式

    1.加入第二个参数数组进行筛选

    var data = [{"name":"李华","age":"20"},{"name":"李四","age":"28"}];
    //数组之前的数字
      console.log(JSON.stringify(data));
    //过滤只有name的
      console.log(JSON.stringify(data,["name"]));
    //检查序列化的数据类型
      console.log(typeof JSON.stringify(data));
    
    序列化

    2.第二个参数是函数进行添加或筛选

    将所有只有叫name的 向他之前加入一个Dear 其他数据不变

      var data = [{"name":"李华","age":"20"},{"name":"李四","age":"28"}];
    
            console.log(JSON.stringify(data,function(key,value){//还可以穿函数
                if(key == "name"){
                    return "Dear"+value
                }else{
                    return value
                }
                
            }));
    
    函数作为参数

    3.第三个参数的排版格式

     var data = [{"name":"李华","age":"20"},{"name":"李四","age":"28"}];
            console.log(JSON.stringify(data,["name"]))
            console.log(JSON.stringify(data,["name"],4))
    
    排版格式

    那么后面的4代表什么意思呢
    4代表的意思就是占位符,差不多就是四个空格的意思 也可以用别的来表示

    如我们将第三个参数换成星号 看看表示的结果

    var data = [{"name":"李华","age":"20"},{"name":"李四","age":"28"}];
            console.log(JSON.stringify(data,["name"]))
            console.log(JSON.stringify(data,["name"],"****"))
    
    ****
    其实最后一个参数在功能上并没有什么用,只是可以让我们更清楚的看数据

    反序列化(解析)

    将加载好的JSON文件,转换可以正常解析的原生js值,就是数组对象

    关键字 JSON.parse()parse翻译中文就是解析的意思
    下面我们将一个JSON数据解析,然后并输出他的数据类型

     var data = `[{"name":"李华","age":"20"},{"name":"李四","age":"28"}]`;
            console.log(JSON.parse(data));
            console.log(typeof JSON.parse(data));//object
    
    JSON.parse()

    相关文章

      网友评论

          本文标题:第二十四章 JSON

          本文链接:https://www.haomeiwen.com/subject/ryeleltx.html