JSON
来源:互联网 发布:淘宝网上药店 编辑:程序博客网 时间:2024/06/03 18:11
前言:
由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现。
说到AJAX就会不可避免的面临两个问题,第一个问题是:AJAX以何种格式来交换数据?第二个问题是:跨域的需求如何解决?
就目前而言首选的方案还是:用JSON来传递数据,靠JSONP跨域。
JSON(JavaScript Object Notation) 和 JSONP(JSON with Padding)虽然只有一个字母的差别,但压根不是一回事:JSON是一种数据交换格式,而JSONP是一种非官方跨域数据交互协议。打个比方:JSON是地下党们用来书写和交换情报的“暗号”,而JSONP则是把用暗号书写的情报传递给自己同志时使用的接头方式。一个是描述消息的格式,一个是信息传递双方约定的方法。
JSON:
一种基于文本的数据交换方式,或者叫做数据描述格式。
优点:
1.基于纯文本,跨平台传递及其简单。
2.JavaScript原生支持,后台语言几乎全部支持。
3.轻量级数据格式,占用字符数量极少,特别适合互联网数据传递。
4.可读性强,容易编写和解析。
数据格式:
1.JSON只有两种数据类型描述符,大括号{ } 和 方括号 [ ];英文冒号 : 是映射符;英文逗号 , 是分隔符;英文双引号 " "是定义符。
2.大括号 { }用来描述一组 “不同类型的无序键值对集合” (每个键值对可以理解为OOP的属性描述), 方括号[ ]用来描述一组“相同类型的有序数据集合”(可对应OOP的数组)。
3.上述两种集合中若有多个子项,则通过英文逗号 , 进行分割。
4.键值对以英文冒号 : 进行分割,并且建议键名都加上英文双引号“ ”,以便于不同语言的解析。
5.JSON内部常用数据类型无非就是字符串、数字、布尔类型、日期、null这几个,字符串必须用双引号引起来,其余的都不用,日期类型比较特殊,这里就不展开讲述了,只是建议如果客户端没有按日期排序功能的需求的话,那么把日期时间直接作为字符串传递就好,可省很多麻烦。
实例:
描述一个人
var person = {
"name": "zhangsan",
"age":23,
"company":"MBA",
"engineer":true
}
获取这个人的信息
var personAge = person.age;
描述多个人
var persons = [
{
"name": "zhangsan",
"age":23,
"company":"MBA",
"engineer":true,
"birthday":"1988-03-05"
},
{
"name": "lisi",
"age":26,
"company":"HUAWEI",
"engineer":true,
"birthday":"1968-08-25"
},
{
"name": "huangsan",
"age":36,
"company":"MBA",
"engineer":false,
"birthday":"2001-06-18"
}
]
读取李四的年龄
var lisiAge = persons[1].age;
- Json
- JSON
- JSON
- JSON
- json
- JSON
- JSON
- json
- Json
- json
- JSON
- json
- json
- JSON
- json
- JSON
- JSON
- json
- 链表——两个有序链表序列的合并
- linux系统编程学习day4--IPC(进程间通信)
- 我踩过的坑
- 小程序中的极度诱惑——玩转小程序91
- Android系统服务(SystemService)简介
- JSON
- 长期更新知识点
- Privacy Policy
- java swing实现简单的中国象棋小游戏源码
- mongoDB windows上的安装及介绍(一)
- 96. Unique Binary Search Trees
- Intellij idea提示 Cannot resolve method"print(java.lang.String)"
- 25岁社招进阿里,从电商到有赞新零售,他仅1年就打开了马云一直想做的新领域!
- HTTPS和HTTP的区别