JSON
JavaScript Object Natation
JavaScript的对象表现形式,但是目前已经发展成为一种轻量级的数据交换格式。
特点
完全独立于语言的文本格式、跨平台!有结构的、方便人和机器解析的。
使用场景
不同语言之间的是数据传递(JSON就是String,但是它是有格式的)。
JSON与XML、Properties的区别
- JSON是轻量级的,而XML是重量级的(如:web.xml),目前XML一般用于框架的配置;
- JSON是有结构的,但Properties仅仅是key、value的形式;
在Java中,对象转换为JSON的注意事项
- 在Java中直接把
new Date();
转换为JSON是把Date();
当做一个对象来转换,而非时间;
- 如:
{"date":{"date":8, "day":6, "hours":9 ......}}
,而不是直接显示时间;
- 如:
- 如果一个对象有
static
修饰的成员变量,此变量是不被JSON转换的,因为static
修饰的是属于类的,而非具体对象的(默认不能通过JSON来转换),想把static修饰的转换为JSON对象,有两种解决方式:
- 成员变量是
static
修饰的,而get
和set
方法不是static
修饰的; - 使用
JsonObject jsonObject = new JsonObject();
对象的put();
方法转换(此时get
和set
方法是static
修饰的),其原理就是put();
到map
中; - 注意:推荐使用第二种方式,因为成员变量是
static
修饰的,get
和set
方法最好也是static
修饰的。
- 成员变量是