这是官方文档的翻译
jackson提供了三种可选可方式来处理json(其中有两种是对基本方法的扩展)
- Streaming api:(又叫做增强的解析和生成)分立的解析和生成方法,org.codehaus.jackson.JsonParser reads, org.codehaus.jackson.JsonGenerator writes
- Tree Model 提供了一种可变的树形结构来解析json结构,org.codehaus.jackson.map.ObjectMapper用于构建这个树形结构,用jsonNode处理节点
- Data Binding 用注解或者属性驱动(get,set)的方式来转换POJO对象和json对象,这里又有两种变体simple和full,第一种simple用于转化Java Maps, Lists, Strings, Numbers, Booleans and nulls。第二种full就是用于解析一边的javaBean。
从使用的角度来说,三种方法的特点是:
- Streaming API 是性能最好的一种(开销最低,速度最快,另外两种都是构建在它之上的)
- Data Binding 是最方便的一种
- Tree Model 是最灵活的一种
下面从最简单的使用方法来举例说明:
FULL Data Binding 的例子:
org.codehaus.jackson.map.ObjectMapper用于映射json对象和java的pojo bean
比如:
{
"name" : { "first" : "Joe", "last" : "Sixpack" },
"gender" : "MALE",
"verified" : false,
"userImage" : "Rm9vYmFyIQ=="
}