首页 > 代码库 > ajax学习——理想的数据交换语言JSON
ajax学习——理想的数据交换语言JSON
一、JSON的语法结构
1.基本结构
1>名/值对的集合(对象、记录、结构、字典、哈希表……)
一个名/值对为一个元素,元素名和值中间用“ : ”号隔开,多个名/值对组合为JSON结构,名/值对之间用“ , ”分隔。
示例: JSON结构:
{ "name" : "AJAX", "sex" : "man" }2>值的有序列表(数组)
示例:
["AJAX", "HTML", "PHP"]
2.花括号保存对象,方括号保存数组
3.对象可以保存多个名/值对,数组也可以保存多个对象
示例:
{ "student":[ {"name":"charles", "id":"123"}, {"lesson":"math","teacher":"Tom"}, {"address":"aaa","number":"1"} ] }
二、JSON中值的类型
1.对象 2.数组 3.数字 4.字符串 5.布尔值 6.null
三、JSON的语言支持
支持JSON的语言很多:Javascript、PHP、C#、C、C++、java……
1.JSON是基于Javascript发展来的,所以Javascript原生支持JSON,JSON的基本结构实际上就是Javascript中的对象和数据,
用Javascript中的函数——eval(string),可以将JSON数据转为Javascript对象。
示例:
var obj =eval ("(" + json_txt + ")");
注意:必须将文本包在括号内,避免产生错误。
2.PHP中使用JSON,JSON从5.2版本开始对JSON支持,通过json_encode()和jsno_decode()两个方法实现。
示例:
假设$book为一个包含数组,数字等的示例,将$book转为json格式:
$json = json_encode($book);而json_decode()则是将JSON转为PHP对象。
四、json的优缺点
1.优点:
1>JSON比XML简洁
2>解析方便
3>结构简单
2. 缺点:
没有像XML那样的命名空间机制
ajax学习——理想的数据交换语言JSON