JSON的语法可以表示以下三种类型的值:
简单值:可以表示字符串,数值,布尔值,null,但不支持undefined。
对象(Object):对象作为一种复杂数据类型,表示的是一组无序的键值对儿。
数组(String):表示一组有序的值的列表
JSON不支持变量,函数或对象实例,他就是一种表示结构化数据的格式。
JSON解析与序列化:
JSON.parse()方法:把JSON字符串解析为原生javascript值。
JSON.stringify()方法:把一个javascript对象序列化为一个JSON字符串。
JSON.stringify()有三个参数:过滤器, 数组, 结果的缩进和空白符
toJSON()方法:返回其自身的JSON数据格式。
直接看代码:
var book = {
"title": "Professional JavaScript",
"authors": [
"Scott Jeremy"
],
age: 5,
year: 2016
}; var jsonText = JSON.stringify(book);
alert(jsonText); // {"title": "Professional JavaScript","authors": ["Scott Jeremy"],age: 5,year: 2016}
var bookCopy = JSON.parse(jsonText);
alert(bookCopy.title); // Professional JavaScript
var bookCopy = JSON.parse(jsonText, function(key, value){
if (key == "releaseDate"){
return undefined;
} else {
return value;
}
}); alert("releaseDate" in bookCopy); // 返回布尔值:false