认识JSON
JSON仅仅是一种语法,在JavaScript中,它可以将JS中的对象、数组、数值、字符串、布尔值和 null等转换成JSON规定的表现形式(就是一段字符串)。例如如下一个JS对象转换成JSON格式:
JavaScript对象转换成JSON格式字符串时仍使用{}包裹, 属性名转换成了带双引号的字符串, 而普通的字符串也转换成了带双引号的字符串(如果最外层使用", 那内部就是单引号: '). 再看两个JavaScript数组转换成JSON格式的例子:
可以看到普通的数字, 转换成JSON格式时, 不会带引号, 对比原本的JavaScript字符串, 则会转换成带引号的字符串. 注意普通数字前面如果有0, 0将会被忽略.
JSON格式的字符串回转成JavaScript对象等, 例如从服务器得到了如下JSON字符串:
注意, 如果字符串中包含没有加引号的零开头的数字会报错, 比如 `JSON.parse("[001, 2]")将报错.
JSON操作的两个方法
1. JSON.stringify(obj[, replacer[, space]])
- obj可以是任意JS的有效数据:
- replacer是可选的, 它可以是数组或函数, 如果是函数, 它的返回值将替代原值
-
space也是可选的, 该参数可以格式化转换后的字符串.
示例1:
示例2:
示例3:
2. JSON.parse(jsonStr[, reviver])
该方法将jsonStr表示的JSON格式字符串转换成JavaScript的值或对象, 第二个参数reviver是可选的, 它可以对所有转换的值做一次处理, 返回值将作为转换后的值或对象属性对应的值.
示例: