JSON

JSON:JavaScript 对象表示法(JavaScript Object Notation)。

JSON 是存储和交换文本信息的语法。类似 XML。

JSON 比 XML 更小、更快,更易解析


JSON - 转换为 JavaScript 对象

无需解析器,JavaScript 程序能够使用内建的 eval() 函数(用 JSON 数据来生成原生的 JavaScript 对象)

实例

<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>
使用 JSON
  • 读取 JSON 字符串
  • 用 eval() 处理 JSON 字符串

JSON 语法规则

JSON 语法是 JavaScript 对象表示法语法的子集。

  • 数据在key/value对中
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON 对象

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:

{ "firstName":"John" , "lastName":"Doe" }

这一点也容易理解,与这条 JavaScript 语句等价:

firstName = "John"
lastName = "Doe"

JSON 数组

JSON 数组在方括号中书写(数组可包含多个对象):

{
"employees": [
               { "firstName":"John" , "lastName":"Doe" },
               { "firstName":"Anna" , "lastName":"Smith" },
               { "firstName":"Peter" , "lastName":"Jones" }
             ]
}

对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录

JSON 使用 JavaScript 语法

像这样访问 JavaScript 对象数组中的第一项:

employees[0].lastName;

返回的内容是:

Doe

这样修改数据:

employees[0].lastName = "Jobs";

把 JSON 文本转换为 JavaScript 对象

 最常见的用法之一:从 web 服务器
                     -->读取 JSON 数据(作为文件或作为 HttpRequest)
                          --> 将 JSON 数据转换为 JavaScript 对象 
                               --> 然后在网页中使用该数据

JSON 实例 - 来自字符串的对象

包含 JSON 语法的 JavaScript 字符串:

var json_txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

eval()可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

var obj = eval ("(" + json_txt + ")");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值