JSON

知识点

  • JSON是一种数据结构,不是一种编程语言。

语法(三种类型的值)

  • 简单值:使用JavaScript语法,可以在JSON中表示字符串、数值、布尔值和null,但不支持undefined。
  • 字符串必须用双引号。
  • 没有变量,没有分号。
  • 对象:表示一组无序的键值对儿,每个键值对儿的值可以是简单值,也可以是复杂数据类型。
  • 对象的属性必须加双引号
  • 没有声明,没有末尾的分号。
  • 一个对象绝不能出项两个同名的属性。
  • 数组:一组有序的值的列表,可以通过数值索引类访问其中的值,数组的值也可以是任意值。
  • 没有变量,没有分号。

解析与序列化

JSON可以将JSON数据结构解析为有用的JavaScript对象。

  • JSON对象

  • stringify():将JavaScript对象序列化为JSON字符串。

  • parse():将JSON字符串解析为原生的JavaScript值。

  • 序列化选项

  • stringify()除了要序列化的JavaScript对象外,还可以接收两个参数,用于指定以不同的方式序列化JavaScript对象。一个是参数过滤器(可以是数组,可以是函数),第二个参数是选项,表示是否在JSON字符串中保存缩进。

  • 如果是数组,就返回对象相应的属性。

  • 如果是函数,返回值是undefined将会被忽略。

  • 字符串缩进:第三个参数用于控制结果中的缩进和空白字符串。如果是数字就表示的是每个级别缩进的空格数。

  • toJSON()方法:(没看懂)。