Json
1.Douglas Crockford
2.json 就是(javascript Object Notation),它是一种轻量级的数据交换格式
这就是 json 数据格式
{"name":"zhangsan","age":22}
{
"first":{"name":"lisi123","age":21}
"second":{"name":"yuanyuan","age":25}
}
var person = {
"Name": "Bob",
"Age": 32,
"Company": "IBM",
"Engineer": true
}
// 获取这个人的信息
var personAge = person.Age;
// 描述几个人
var members = [
{
"Name": "Bob",
"Age": 32,
"Company": "IBM",
"Engineer": true
},
{
"Name": "John",
"Age": 20,
"Company": "Oracle",
"Engineer": false
},
{
"Name": "Henry",
"Age": 45,
"Company": "Microsoft",
"Engineer": false
}
]
// 读取其中John的公司名称
var johnsCompany = members[1].Company;
// 描述一次会议
var conference = {
"Conference": "Future Marketing",
"Date": "2012-6-1",
"Address": "Beijing",
"Members":
[
{
"Name": "Bob",
"Age": 32,
"Company": "IBM",
"Engineer": true
},
{
"Name": "John",
"Age": 20,
"Company": "Oracle",
"Engineer": false
},
{
"Name": "Henry",
"Age": 45,
"Company": "Microsoft",
"Engineer": false
}
]
}
// 读取参会者Henry是否工程师
var henryIsAnEngineer = conference.Members[2].Engineer;
3.json的基本语法
4个基本规则
1)并列的数据之间用逗号(,)分隔
2)映射用冒号(:)表示
3)并列数据的集合(数组)用方括号([])表示
4)映射的集合(对象)用大括号( {})表示
4.json 的优点
1)数据格式简单,便于读写,格式都是压缩的,占用宽带少
2)支持多种语言,包括ActionScript,C,C#,JAVA,PHP,Ruby,Python 等服务器端语言,便于服务器端的解析
5.json的缺点
1)要求字符集必须是Unicode,受约束性强
2)语法过于严谨,必须遵循json语法4个原则
6.json的使用
牵涉到 serialize数据格式的比较
相同点:都是把其他数据类型转换成一个可以传输的字符集,都是结构性数据
不同点:serialize 序列化后数据格式保存原有数据类型,json数据格式要更简洁相比serialize 序列化之后的数据格
式
1.json适合数据量大,不要求保留原有数据类型的情况下使用
2.serialize 适合存储带有加密方式的数据串,防止数据被中途反序列化破解
a:3:{ i:0;s:7:"name";i:1;s:4:"age";}
php操作json的重要函数
加密: json_encode()
解密:json_decode()