# 7.JSON对象
1.规则
- 对象的键名必须放在双引号里面。
- 数组或对象最后一个成员的后面,不能加逗号。
- 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象。
2.JSON对象的两个处理方法:JSON.stringify()、JSON.parse()
JSON.stringify方法用于将一个值转为JSON字符串。该字符串符合 JSON 格式,并且可以被JSON.parse方法还原。
console.log(JSON.parse(JSON.stringify('ABC')))
JSON.stringify方法还可以接受一个数组,作为第二个参数,指定需要转成字符串的属性。
let obj = {
prop1:'value1',
prop2:'value2',
prop3:'value3'
}
let selectProperties = ['prop1','prop2']
console.log(JSON.stringify(obj,selectProperties)) //{"prop1":"value1","prop2":"value2"}
JSON.parse():JSON.parse方法用于将JSON字符串转化成对象。
3.toJSON 方法
如果JSON.stringify的参数对象有自定义的toJSON方法,那么JSON.stringify会使用这个方法的返回值作为参数,而忽略原对象的其他属性。
let user = {
firstName:'san',
lastName:'zhang',
get:function(){
return this.firstName + this.lastName
},
toJSON:function(){
var data = {
firstName:this.fistName,
lastName:this.lastName
}
return data
}
}
console.log(JSON.stringify(user)) // {"firstName":'san',"lastName":"zhang"}
← 6.Date 对象 8.console对象 →