JSON:JavaScript对象表示法(JavaScript Object Notation),是存储和交换文本信息的语法。
JSON是轻量级的文本数据交换格式,独立于语言。
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:
1、使用 XML
1)读取 XML 文档
2)使用 XML DOM 来循环遍历文档
3)读取值并存储在变量中
2、使用 JSON
1)读取 JSON 字符串
2)用 eval() 处理 JSON 字符串
语法规则
数据在名称/值对中
数据由逗号分隔
大括号保存对象
方括号保存数组
JSON值可以是数字(整数或浮点数),字符串(双引号中)。逻辑值(true或false),数组(方括号中),对象(大括号中),null
//JSON对象
{"firstName":"liu","lastName":"niuniu"}
//JSON数组
{
"student":{
{"name":"zhangsan","age":10},{"name":"lisi","age":8}
}
}
通过javascript创建一个对象数组
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
JSON文件的文件类型是”.json”
JSON文本的MIME类型是”application/json”
使用
1.JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
<h2>通过 JSON 字符串来创建对象</h3>
<p>
First Name: <span id="fname"></span><br />
Last Name: <span id="lname"></span><br />
</p>
<script type="text/javascript">
var txt = '{"employees":[' +
'{"firstName":"Bill","lastName":"Gates" },' +
'{"firstName":"George","lastName":"Bush" },' +
'{"firstName":"Thomas","lastName":"Carter" }]}';
var obj = eval ("(" + txt + ")");
document.getElementById("fname").innerHTML=obj.employees[1].firstName
document.getElementById("lname").innerHTML=obj.employees[1].lastName
</script>
JSONP
Jsonp(JSON with Padding) 是 json 的一种”使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。