Leetcode
Leetcode copied to clipboard
【深入理解JS核心技术】4. 什么是 JSON 及其常用操作
JSON是一种遵循JavaScript对象语法的基于文本的数据格式,当您想通过网络传输数据时它很有用,它基本只是一个扩展名为.json的文本文件,MIME类型为application/json
JSON语法:
JSON语法支持表示3种类型的值。
- 简单值:字符串,数值,布尔值和null可以在JSON中出现,就像在JavaScript中一样。特殊值undefined不可以。
- 对象:第一种复杂数据类型,对象表示有序键/值对。每个值可以是简单值,也可以是复杂类型。
- 数组:第二种复杂数据类型,数组表示可以通过数值索引访问的值的有序列表。数组的值可以是任意类型,包括简单值,对象,或者其他数组。
解析:将字符串转换为对象
JSON.parse()方法可以接收一个额外的参数,这个函数会针对每个键/值对都调用一次。
JSON.parse(text);
字符串化:将对象转换为字符串,以便可以通过网络传输
JSON.stringify()方法除了要序列化的对象,还可以接收两个参数。这两个参数可以用与指定其他序列化JavaScript对象的方式。第一个参数是过滤器,可以是数组或函数;第二个参数是用于缩进结果JSON字符串的选项。
// 过滤结果
// 如果第二个参数是一个数组,那么JSON.stringify()返回的结果只会包含该数组中列出的对象属性。
// JSON.stringify(book, ['title', 'name']);
// 字符串缩进
// JSON.stringify()方法的第三个参数控制缩进和空格。在这个参数是数值时,表示每一级缩进的空格数。
// JSON.stringify(book, null, 4);
JSON.stringify(object);
let book = {
title: 'name',
toJSON: function() {
return this.title;
}
}
let jsonText = JSON.stringify(book); // '"name"'
解析与序列化
JSON对象有两个方法:stringify()和parse(),分别将JavaScript序列化为JSON字符串,以及将JSON解析为原生JavaScript值。
JSON是一种轻量级数据格式,可以方便地表示复杂数据结构,这个格式使用JavaScript语法的一个子集表示对象,数组,字符串,数值,布尔值和null。虽然XML也能胜任同样的角色,但JSON更简洁,JavaScript支持也更好。所有浏览器都已经原生支持全局JSON对象。
ES5定义了原生JSON对象,用于将JavaScript对象序列化为JSON字符串,以及将JSON数组解析为JavaScript对象。JSON.stringify()和JSON.parse()方法分别用于实现这两种操作。
未完结!更多内容尽情期待下一节~
【深入理解JS核心技术】欢迎各位观众老爷,求点赞,求关注,求转发~