java Jackson框架

1、 下载依赖库jar包

Jackson的jar all下载地址:http://jackson.codehaus.org/1.7.6/jackson-all-1.7.6.jar

然后在工程中导入这个jar包即可开始工作

官方示例:http://wiki.fasterxml.com/JacksonInFiveMinutes

2、代码实例,通过一个实体传化成json

/**
 * Jackson 讲解
 * @author zhouguohui
 */
public class JacksonTest {

	private int id;
	private String name;
	
	public JacksonTest(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	public int getId() {
		return id;
	}
	public String getName() {
		return name;
	}
	@JsonIgnore
	public String getAddres() {
		return "中国";
	}
	
	public static void main(String[] args) {
		try {
			ObjectMapper om = new ObjectMapper();
			JacksonTest j = new JacksonTest(123,"测试");
			String json = om.writeValueAsString(j);
			System.out.println(json);
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}
}

 运行结果为:

{"name":"测试","id":123,"addres":"中国"}

 从上面的运行结果可以看出,Jackson 是通过每个实体的get()方法来封装,如果某个实体我不想让他在json字符串里面显示可以通过注解@JsonIgnore  加载某个get方法上面,Jackson就不会把这个字段封装到json里面,

    如果我想封装一个list对象到json可以这样写:

JacksonTest jt1 = new JacksonTest(123,"测试");
JacksonTest jt2 = new JacksonTest(345,"对象");
List<JacksonTest> list = Arrays.asList(jt1,jt2);
String json = om.writeValueAsString(list);
System.out.println(json);

    输出结果为:

[{"name":"测试","id":123},{"name":"对象","id":345}]

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jackson所需要的所有jar jackson-all-1.6.2.jar jackson-core-asl-1.6.2.jar jackson-mapper-asl-1.6.2.jar jakarta-oro.jar 1. 背景 目前维护的产品使用jackson处理json,现整理一下jackson相关资料,希望对初次接触jackson的新手有所帮助。 jackson主页: http://jackson.codehaus.org/ jackson document: http://wiki.fasterxml.com/JacksonJavaDocs JacksonInFiveMinutes: http://wiki.fasterxml.com/JacksonInFiveMinutes 本文主要内容译自JacksonInFiveMinutes,增加了部分示例,转载请注明出处。 受java平台上各种处理xml的类库(StAX, JAXB等)启发,Jackson提供一种处理jsonjava类库。Jackson的目标是为开发者提供快速、准确、轻量级和用起来最爽的json处理类库。本文将概括介绍Jackson的主要功能和相关功能的使用示例。 2. 使用方式 Jackson提供三种可选的json处理方式: 1) Streaming API 又称Incremental parsing/generation, 受StAX API启发,以非关联递增方式读写json内容。 通过 org.codehaus.jackson.JsonParser读取,通过org.codehaus.jackson.JsonGenerator写入。 2) Tree Model 通过基于内存的树形结构来描述json数据,和 XML DOM类似。通过org.codehaus.jackson.map.ObjectMapper构建树,树由JsonNode节点组成。 3) Data Binding 基于属性访问或注解的方式将json和POJO对象互相转换, 受JAXB基于注解的处理方式启发。通过org.codehaus.jackson.map.ObjectMapper读写json数据。它包含两种类型: 3.1 Simple Data Binding 用于jsonJava Maps, Lists, Strings, Numbers, Booleans and nulls的相互转换。 3.2 Full Data Binding 用于jsonJava Bean的相互转换。 下面从使用的角度上比较三种处理方式: Streaming API 执行效率最高,读写速度最快,另外两种方式都基于它实现; Tree Model 是最灵活的; Data Binding 通常是最方便使用的;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值