感觉用这个对象好久了,也不过是parse,stringify方法,今天梳理一下。
1、JSON 是一种用来序列化对象、数组、数值、字符串、布尔值和 null 的语法。
2、JSON对值的类型和格式有严格的规定:
a、复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
b、简单类型的值只有四种:字符串、数值(必须以十进制表示)、布尔值和null(不能使用NaN, Infinity, -Infinity和undefined)。
c、字符串必须使用双引号表示,不能使用单引号。
d、数组或对象最后一个成员的后面,不能加逗号。
e、json字符串的键值对必须用双引号。
3、JSON.parse方法还有一个回调函数,在我看来有着过滤字符串的功能,我们可以在返回的字符串中过滤掉自己不需要的一部分,然后如果遇到有嵌套关系的话,是从最里面向外面进行过滤的
JSON.parse('{"a":"1","b":"2","c":{"d":{"e":"6"}}}',function(k,v){
console.log(k)
})
结果:a,b,e,d,c
4、JSON.stringify(value[, replacer [, space]])
JSON.stringify有三个参数,第一个js对象,replcacer也是个过滤的功能,可以是个数组,键值不在里面的就会被过滤掉,space主要用来格式化输出的
var change=JSON.stringify(ob,['k'],9);//string
console.log(change);