JSON学习笔记
时间:2017-1-1 22:25
——什么是JSON
JSON(JavaScript Object Notation)是一中轻量级的数据交换格式。
JSON是用字符串表示JavaScript对象,例如可以在Servlet中发送一个JSON格式的字符串给客户端,JavaScript可以执行这个字符串,得到一个JavaScript对象。
XML也可以用来作为数据交换格式。
——JSON对象语法
JSON语法:
1)数据在键值对中
2)数据由逗号分隔
3)花括号保存对象
4)方括号保存数组
JSON值:
1)数字(整数或浮点数)
2)字符串(在双引号中)
3)逻辑值(true或false)
4)数组(在方括号中)
5)对象(在花括号中)
6)null
应用JSON:
var person = {"name" : "zhangsan", "age" : "20", "sex" : "male"};
alert(person.name + ", " + person.age + ", " + person.sex);
注意:key也要在双引号中。
——JSON与XML比较
1、可读性:XML胜出
2、解码难度:JSON本身就是JS对象(亲儿子),所以简单很多
3、流行度:XML已经流行好多年,但在Ajax领域,JSON更受欢迎
——把Java对象转换成JSON对象
Apache提供的json-lib小工具,它可以方便的使用Java语言来创建JSON字符串,也可以把JavaBean转换成字符串。
1、json-lib核心jar包
* json-lib.jar
2、json-lib依赖jar包
* commons-lang.jar
* commons-beanutils.jar
* commons-logging.jar
* commons-collections.jar
* ezmorph.jar
3、json-lib中的核心类
* JSONObject
> 本身是一个Map
> toString()方法可以得到一个JSON字符串
> JSONObject map = JSONObject.fromObject(person);
把对象转换成JSONObject对象
* JSONArray
> 本身是一个List
> toString()方法可以得到一个JSON字符串
> JSONArray list = JSONArray.fromObject(list)
把List转换成JSONArray对象
代码:
输出:
{"name":"zhangsan","age":20}
输出:
{"name":"zhangsan","age":21}
输出:
[{"name":"zhangsan","age":22},{"name":"lisi","age":23}]
输出:
[{"name":"zhangsan","age":22},{"name":"lisi","age":23}]