1. JSON
1.1. JSON介绍
1.1.1. 什么是JSON
JSON(JavaScript Object Notation) 是一种JS提供的轻量级的数据交换格式。
JSON是用字符串来表示Javascript对象,例如可以在Servlet中发送一个JSON格式的字符串给客户端JavaScript,JavaScript可以执行这个字符串,得到一个Javascript对象。
1.1.2. JSON与XML比较
- 可读性:XML比JSON具有更好的可读性;
- 解析难度:JSON本身就是JS对象,所以解析、操作非常简单;
- 流行度:XML已经流行好多年,但在某些领域,特别是在ajax中,JSON更受欢迎。
1.1.3. JSON对象语法
JSON 语法:
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
var person = {"name":"zhangSan", "age":"18", "sex":"male"};
alert(person.name + ", " + person.age + ", " + person.sex);
注意,key也要在双引号中!
JSON值:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
var person = {"name":"zhangSan", "age":"18", "sex":"male", "hobby":["cf", "sj", "ddm"]}; alert(person.name + ", " + person.age + ", " + person.sex + ", " + person.hobby); |
带有方法的JSON对象:
var person = {"name":"zhangSan", "getName":function(){return this.name;}}; alert(person.name); alert(person.getName()); |
1.1.4. JSON格式
JSON具有以下这些形式:
形式一:
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
示例:
var person = {
"name":"张三",
"age": 18,
"gender": "男"
}
形式二:
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。
{“key1”:value1,’key2’:value2,key3:value3}串
示例:
var person = {
"name":"张三",
"age": 18,
"friends":["小明", "小红", "小刘"]
}
形式三:
值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
[“value1”,”value2”,”value3”]
示例:
var person = {
"name":"张三",
"age": 18,
"friends":[
{
"name":"小明",
"age": 17,
"friends":["小李", "小兰"]
},
{
"name":"小刘",
"age": 19,
"friends":["小陈", "小红"]
}
]
}