传输数据的标准

JSON

JSON(JavaScript Object Notation)是替代XML的一种标准。它是一个通用的数据格式。

语法

JSON语法支持3中类型

  • 简单值:null、number、boolean、string。注意undefined不是。
  • 对象:表示有序的键值对。
  • 数组:表示可以通过数值索引访问的值的有序列表。
注意事项
  • JSON和JavaScript中的区别。JSON中的key要使用引号引起来,JavaScript中可以不使用。
  • JSON对象最后一个属性值后面没有逗号,JSON数组最后一个值后面没有逗号

JSON对象的解析与序列化

stringify()

JSON.stringify()把一个JavaScript对象序列化为一个JSON字符串,保存到一个字符串中。

语法
JSON.stringify(JavaScript对象, 过滤器, 缩进值)

  • JavaScript对象:即将要序列化的JavaScript对象
  • 过滤器:可以是一个数组或一个函数。返回数组中包含的key或函数设置返回值;函数返回undefined表示省略这个值。
  • 缩进值:控制缩进和空格。

注意事项
1、JavaScript对象中的值为undefined的时候,序列化后会省略。
2、JavaScript对象序列化后,所有的函数和原型都会忽略。

function createCompareFunction(property) {
    return function(obj1, obj2) {
        let value1 = obj1[property];
        let value2 = obj2[property];

        if (value1 < value2) {
            return -1;
        } else if (value1 > value2) {
            return 1;
        } else {
            return 0;
        }
    }
}

let a = {
    a: "a",
    b: "b",
    func: createCompareFunction,
    un: undefined
}
console.log(JSON.stringify(a)) // {"a":"a","b":"b"}
parse()

JSON.parse()把一个JSON字符串解析为一个JavaScript对象。

语法
JSON.parse(JSON字符串, 还原函数)

  • JSON字符串:将要解析的JSON字符串。
  • 还原函数:接收两个参数,一个表示key,一个表示value。如果返回undefined,则删除;否则就添加到结构中。

第二个参数常用于将Date字符串转换为Date对象。

let str = '{"a":"a","b":"b"}';
let json = JSON.parse(str);

console.dir(json)
图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容