json
LOGO
JSON
贾明 2010-06-16
JSON简介
JSON介绍 JSON(JavaScript Object Notation) 是一种轻 量级的数据交换格式。非常适合于服务器与 前台 脚本语言 的交互。同时也易于机器解析和生成。 官方网站
JSON在互联网中的应用
便捷,高效的交互方式
每组小模块都 会与后台服务 器进行数据交 互
JSON 无处不在
JSON的语法规范
{“Key” : value , “key”:value , …….}
例: 描述一个男性名为Tom的员工信息,如下所示: { "name": "TOM", "sex": "male" }
注:
KEY:必须是字符串。 Value:可以存放任意Ojbect类型数据,例如,字符串 ,布尔类型,数字类型等。
JSON对象的解析
由于JSON基于纯文本的数据格式,天生是为 JavaScript 准备的,因此,JSON 的解析非常简便 ,即:”对象.属性(KEY)”的方式。
例如: var user = { "name": "TOM", "sex": "male" }
user.name 即可获取 “TOM”。
JSON拓展---容纳更多的复杂信息
例如想描述某客户基本信息如下:
姓名:andy,年龄:25,联系方式(固话:1234,手机:13766), 地址一:北京建国门大街,地址二:天津市海泰信息广场
var user = { “username” : “andy”, “age” : 25, “info” : {“tel”: “1234”,“cellphone”:”13766”} , “address”: [ {“city” : “北京建国门大街”}, {“city” : “天津海泰信息广场”} ] }
相应的解析方法
alert(user.username); alert(user.age); alert(user.info.cellphone); alert(user.address[0].city); alert(user.address[1].city);
将符合JSON规范的字符串对象化
Eval();
JavaScript中提供eval()方法将字符串构造成JS对象. 例如: var info = ‘{“name” : “tom” , “sex” : “male”}’ ;
? var info_object = eval(‘(’+info+’)’) ; ? alert(“姓名 : ”+info.name);
JSON与XML比较,有哪些优势
数据格式比较简单, 易于读写, 压缩后的格式, 占用带 宽小. 易于解析. 支持多种语言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端 的解析. 因为JSON格式能够直接为服务器端代码使用, 大大 简化了服务器端和客户端的代码开发量, 且易维护.
XML语言格式
<?xml version="1.0" encoding="utf-8"?> <country> <name>中国</name> <province> <name>黑龙江</name> <citys> <city>哈尔滨</city> <city>大庆</city> </citys> </province> </country>
JSON语言格式
{ name:"中国", province:{ name:"黑龙江", citys:{ city:["哈尔滨","大庆"] } }
支持JSON的JavaScript框架
Java语言对JSON的完美支持
Apache开源组织的开源组件JSON-Lib.jar
提供了诸多JAVA类型转换为JSON字符串的方法。例如: LsitToJson , BeanToJson , MapToJson等。
总结
JSON的书写规范 JSON可存放的数据类型 如何将字符串构造成JavaScript对象
LOGO
Thank you!!!