JSON入门小例子
2017-07-06 09:48
357 查看
JSON入门
什么是JSONJSON(JavaScript Object Notation http://www.json .org/json -zh.html ),是一种轻量级的基于文本且独立于语言的数据交换格式,比XML更轻巧,它是XML数据交换的一个替代方案。它源于ECMAScript程序语言标准-第3版(ECMA-262 3rd Edition - December 1999)的子集,定义了便于表示结构化数据的一套格式规范,JSON规范是符合ECMAScript语法规范,这样按JSON规范描述出的字符串已是 javascript的原生代码串,这使之能通过eval动态的在JSON串与JavaScript对象之间进行转换。如果夸大来说,它是另一种理想的但有别于XML数据交换语言。
JSON建构于两种结构
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。
JSON语法规则
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。与C或者Java的字符串非常相似。
快速浏览JSON与XML表现形式
假如有一个employee对象,它有“姓、名、员工编号、头衔”等信息,先看看JSON是如何来描述它的:
Js代码
{ employee : { firstName: "John", lastName : "Doe", employeeNumber : 123, title : "Accountant" } }
再来看看XML是如何表示的,请看:
<employee> <firstName>John</fi 4000 rstName> <lastName>Doe</lastName> <employeeNumber>123</employeeNumber> <title>Accountant</title> </employee>
从上面描述看,JSON表示法不正是JavaScript中对象描述的一种方式么?正确,这正是JavaScript中的对象构造的原生代码。既然是原生代码,我们把它转换成JavaScript中的对象,这样我们操作对象就比操作字符串方便多了。
把JSON字符串转换成JavaScript对象:
Js代码 <script type="text/javascript"> //使用script本身的函数eval将JSON串解析成对象 var e = eval( '({' + 'employee : ' + '{' + 'firstName: "John",' + 'lastName : "Doe",' + 'employeeNumber : 123,' + 'title : "Accountant"' + '}' + '})' ); //现在我们可以使用e这个对象了,还可以以点的访问形式来访问对象的属性 alert(e.employee.firstName); alert(e.employee.lastName); alert(e.employee.employeeNumber); alert(e.employee.title); </script>
相关文章推荐
- JSON入门小例子(转)
- JSON入门小例子
- json 入门--例子
- Json 入门例子(form表单)【0】
- mybatis学习-入门(4)-一个完整的web例子,通过json将字符串传递给前台,然后显示出来
- Json 入门例子【3】
- Json 入门例子【2】
- FusionCharts 入门例子(JsonData)
- Json 入门例子 多行数组 【1】
- 通过例子学习Lua(5) ---- Lua与C交互入门 (转)
- 一个经典的ADO.NET入门例子
- ajax入门——一些理解及例子
- AOP入门的简单例子(Spring AOP实现)
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- ajax入门小例子以及一些xmlhttp的参考资料
- Berkeley DB(一) -- 入门知识和一个小例子
- Spring 入门(一个简单的例子)
- struts+hibernate+spring一个入门的实用例子
- Schema的几个简单例子 入门
- VB Api简单入门(2)-一个简单的例子