>json简介
>>JavaScript object notation(JS对象表示法)
>>存储和交换文本信息的语法。类似xml,比xml更小、更快、更容易解析
>>轻量级的文本数据交换格式,JSON独立于语言。具有自我描述性,更易理解
>>json使用JS语法来描述数据对象,能使用内建的eval()函数,是JSON字符串生成JS对象
>实例:
<span style="font-size:14px;"><html>
<body>
<h2>在 JavaScript 中创建 JSON 对象</h2>
<p>
Name: <span id="jname"></span><br />
Age: <span id="jage"></span><br />
Address: <span id="jstreet"></span><br />
Phone: <span id="jphone"></span><br />
</p>
<script type="text/javascript">
var JSONObject= {
"name":"Bill Gates",
"street":"Fifth Avenue New York 666",
"age":56,
"phone":"555 1234567"};
document.getElementById("jname").innerHTML=JSONObject.name
document.getElementById("jage").innerHTML=JSONObject.age
document.getElementById("jstreet").innerHTML=JSONObject.street
document.getElementById("jphone").innerHTML=JSONObject.phone
</script>
</body>
</html></span>
>>对程序的解释:
使用html建立空白域
建立普通的js对象
通过js语句对对象进行调用
>>JSON的特点
是纯文本,具有自我描述性(可读性高)
具有层级结构,对象的内部可以再次建立对象
可以使用ajax进行数据传输
没有结束标签,使用eval()函数进行间隙,使用数组和对象,不适用保留字
>>JSON使用方法
使用JSON读取JSON字符串
用eval()处理JSON 字符串
>JSON语法
>>语法规则
数据在名称-值对中(类似PHP中的键值对)
数据有逗号分隔
花括号保存对象
方括号保存数组
>>JSON的数据类型
数字、字符串、布尔、数组、对象、null
<span style="font-size:14px;">{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}</span>
//对象数组的交替使用
>>文件类型是.json
>JSON使用
>>json最常见的用法是从web服务器上读取JSON数据(作为文件或作为httprequest),将JSON数据转换为JavaScript对象,然后在网页使用该数据。
<span style="font-size:14px;"><html>
<body>
<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>
</body>
</html></span>
对程序的理解
在js脚本中添加了变量,其中单引号相邻的两个构成一对,声明内部为字符串,加好将两个相邻的字符串连接
最后通过eval翻译成js对象