一、是什么
- JavaScript 对象表示法(JavaScript Object Notation),是一种数据表示的格式,就是一种有规则的字符串。
- Key/Vaule存储,理论上Key支持String、Number,Value几乎支持所有类型。
- 存储和交换文本信息的语法,类似 XML。但JSON 比 XML 更小、更快,更易解析。
二、语法
- 数据在 key/value 对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
先来看一个json对象:
var json1 = {
"name": "roroBear",
"age": 25,
"birthday": "1999年9月14日",
"info": "北京大学男篮主力,计算机系专业第一,coder,没有女朋友",
"course":["数据结构","Java","操作系统","计算机网络"]
}
取值:
alert(json1.name+"的年龄是"+json1.age+",出生于"+json1.birthday+",是"+json1.info+",主修课程有"+json1.course);
alert(json1.name+"学的最好的课程是"+json1.course[2]);
效果:
三、两大函数
3.1 JSON.parse()
把JSON规则的字符串转换为JSONObject。(String -> JSONObject)
3.2 JSON.stringify()
把JSONObject 转化为 JSON 规则的字符串。 (JSONObject -> String)
//语法格式
JSON.stringify(value[, replacer[, space]])
//参数说明
value :将要转成String的JSON值。
replacer :若是function,则每个value都会执行该function;
若是Array,则返回的数据只会保留key包含在Array中的数据。
space : 美化JSON字符串,若是一个Number类型,代表的就是填充多少个空格。
如果是0或者小于0,那么就是没有空格(和不填此项没有区别);
若是字符串,则直接填充。