json和jsonp和ajax的实质和区别
ajax的两个问题
1.ajax以何种格式来交换数据
2.跨域的需求如何解决
数据跨域用自定义字符串或者用XML来描述
跨域可以用服务器代理来解决
jsonp来跨域
json是一种数据交换格式 “暗号” 描述信息格式
jsonp是非官方跨域数据交互协议 “接头方式” 信息传递双方约定的方法
json是基于文本的数据交换方式或者数据描述格式
json的优点
1.基于纯文本,跨平台传递极其简单;
2.javascript原生支持,后台语言几乎全部支持
3.轻量级数据格式,占用字符数量极小,特别适合互联网传递
4.可读性比较强,不必xml那么一目了然但在合理的依次缩进之后还是很容易识别的
5.容易编写和解析,当然前提是知道数据结构
json的格式或者规则
json以非常简单的方式来描述数据结构 xml能做的它都能做
1.json的数据两种数据类型 大括号{}和方括号[] 其余英文冒号,是分隔符 冒号:是映射符 英文双引号""是定义符
2.{}是描述一组 不同类型的无序键值对集合 每个键值对理解为OOP的属性描述
[]是描述一组 相同类型的有序数据的集合 对应OPP的数组
3.{}不同类型无序键值对和[]相同类型有序集合中有有多个子项,通过英文逗号分隔
4.键值对以英文冒号:分隔并且建议键名都加英文双引号"",以便不同语言的解析
5.json内部常用数据类型是字符串(必须用双引号引起来其他不用) 数字 布尔 日期 null
日期比较特殊??????
1
var person = { //一个人的描述
2
"name":"Bob",
3
"Age":32,
4
"Company":"IBM",
5
"Engineer":true
6
}
7
var personAge = person.Age;
8
var conference = {
//描述一次会议
9
"Conference": "Future Marketing",
10
"Date": "2012-6-1",
11
"Address": "Beijing",
12
"Members":
13
[
14
{
15
"Name": "Bob",
16
"Age": 32,
17
"Company": "IBM",
18
"Engineer": true
19
},
20
{
21
"Name": "John",
22
"Age": 20,
23
"Company": "Oracle",
24
"Engineer": false
25
},
26
{
27
"Name": "Henry",
28
"Age": 45,
29
"Company": "Microsoft",
30
"Engineer": false
31
}
32
]
33
}
34
var henryIsAnEngineer = conference.Members[2].Engineer;// 读取参会者Henry是否工程师