josn初步
JSON:javascript对象表示法(javascript Object Notation);
JSON 是轻量级的存储和交换文本信息的语法;
json独立于语言;
json文本格式在语法上与创建javascript对象的代码相同,无需解析器,javascript程序能够内建eval()函数,用json数据生成原生的javascript对象。
一、示例
通过我们的编辑器,您可以在线编辑 JavaScript 代码,然后通过点击一个按钮来查看结果:
<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>
二、特性
类似 XML:
- JSON 是纯文本
- JSON 具有“自我描述性”(人类可读)
- JSON 具有层级结构(值中存在值)
- JSON 可通过 JavaScript 进行解析
- JSON 数据可使用 AJAX 进行传输
相比 XML 的不同之处:
- 没有结束标签
- 更短
- 读写的速度更快
- 能够使用内建的 JavaScript eval() 方法进行解析
- 使用数组
- 不使用保留字
为什么使用 JSON?
对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:
使用 XML
- 读取 XML 文档
- 使用 XML DOM 来循环遍历文档
- 读取值并存储在变量中
使用 JSON
- 读取 JSON 字符串
- 用 eval() 处理 JSON 字符串
三、json语法
1、语法规则:
json语法是javascript语法的子集:
数据在名称/值对中;
数据由逗号分隔;
花括号保存对象;
方括号保存数组;
JSON名称/值对
JSON数据的书写格式是名称/值对。
“字段名称”:“值”
//JSON "firstName":"john" //相当于javascript里的: firstName:"john"
2、json的值
包括以下几中类型:
数字:整数或浮点数;
字符串:在双引号内;
逻辑值:true或false;
数组:在方括号内;
对象:在花括号呢;
null
3、json对象
JSON对象在花括号中书写;
对象可以包含多个名值对;
//json对象
{ "firstName":"John", "lastName":"Done" }
//相当于以下javascript对象
firstName:"John";
lastName:"Doe"
4、JSON数组
JSON数组在方括号内书写:
数组可包含多个对象:
{
employees:[
{"firstName":"John","lastName":"Doe"},
{"firstName":"Anna","lastName":"Smith"},
{"firstName":"Peter","lastName":"Jones"},
]
}
5、JSOn使用javascript语法:
示例:
JSON使用javascript语法,通过javascript创建一个数组对象,并进行赋值:
var employees=[
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
]
//访问:
employees[0]:lastName;
//修改:
employees[0]:"Jobs";
四、JSON的使用:
1、把json文本转换为Javascript对象
JOSN常见的用法之一是从web服务器上读取JSON数据(作为文件或者是HttpRquest),将JSON数据转换为javascript对象;在网页中使用该数据;
2、JSON解析器
eval()函数可编译并执行javascript代码。
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。
| Web 浏览器支持 | Web 软件支持 |
|---|---|
|
|
浙公网安备 33010602011771号