json格式文件,或者处理json数据是前端不可避免的一项技术。对于新手来说,对json,ajax有种莫名的恐惧,我刚开始也是,同事说多看看,多操作几次就不怕了,果真是这样的,恐惧是因为太过陌生!

学习JSON,看完学不会任你打!-Qui-Note

一.基础介绍

1.JSON 文件的扩展名是 .json
2.JSON 文本的 MIME 类型是 application/json
3.JSON 是一个键值对(key/value)的集合,所有数据都保存在一个 JSON 对象中,该对象以左括号({)开始,以右括号(})结束,每个 key 后跟一个冒号(:),key 与 value 之间使用逗号(,)分隔。 

  • 键(key)的数据类型是字符串,必须包裹在双引号中(忘了给 Key 加双引号或者是把双引号写成单引号是常见错误)。
  • 值(value)可以是这些类型:String、Number、Boolean、Object、Array、null。

二.JSON格式转换:

1.JSON.parse() —— json字符串 转换成一个 js对象。
2.JSON.stringify() —— js对象 转换成一个 json字符串。

三.实战

1.parse 解析为对象

let jsonA = '{ "name": "app", "list": [{ "id": 0, "title": "标题一" }] }';
let jr = JSON.parse(jsonA);
console.log(jr)
// JSON.parse(json,callback),还支持回调函数,每一个对象都会执行一次
let jr0 = JSON.parse(jsonA,(key, value) => {
    if (key === 'title') {
           return "缩略图都没有!"
    } else {
          return value
    }
});
console.log(jr0)

学习JSON,看完学不会任你打!-Qui-Note

2.stringify 序列化js对象

let gs = JSON.stringify(jr0);
let gss = JSON.stringify(jr0,['name']); 
console.log(gs)  // {"name":"app","list":[{"id":0,"title":"缩略图都没有!"}]}
console.log(gss)  //{"name":"app"}

好了,json数据一般就这两种操作,格式化和序列号,一个用于处理成js能读的格式,另一个用于传输数据.