1、JSON是一个轻量级的数据格式。它用JavaScript语法的子集表示对象、数组、字符串、数值、布尔值和null。在对象以及数组中定义时,属性名和属性值都必须加双引号,而且末尾不能加分号,否则会报错。
2、ECMAScript5定义一个JSON对象
(1)JSON.stringify():把对象序列化为json数据格式字符串。
接收三个参数:第一个参数为需要序列化的对象(必须)。第二个参数为一个数组或者函数,为数组时,该方法序列化数组中出现的属性;为函数时,则该函数接收两个参数(key, value),通过key的值可以知道要如何处理要序列化的对象的属性(可选)。第三个参数为一个数字或者字符串,为数字时,表示缩进的空格,为字符串时,则用该字符串代替缩进空格(可选)。
(2)序列化对象的顺序
①如果存在toJSON()方法而且通过该方法取得有效的值,则返回该方法。否则返回对象本身。
②如果提供了第二个参数,则传入这个函数过滤器的值为第一步返回的值。
③对第二步返回的每个值进行相应的序列化
④如果提供了第三个参数,执行相应的格式化。
(3)JSON.parse():将一个json格式的数据解析为JavaScript对象。
接收两个参数:第一个参数表示需要解析的json数据。第二个参数为一个还原函数,该函数接收两个参数,一个键一个值。如果还原函数返回Undefined,则表示要从结果中删去相应的键;如果返回其他值,则将该值插入到结果中。