美文网首页
第二十四章 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