利用jackson 序列化和反序列化java对象

摘要: spring mvc 默认@responsebody 自带的就是jackson 库,利用他来序列化和反序列化java 对象。在用这个之前,以前用过jsonlib,以及 GSON, 作为个人来说,其实很喜欢GSON , 这个东西用起来简单,功能貌似比jsonlib 强一点,而且不容易出错。但现在的项目用的是 jackson ,所以,还是得看看用这个怎么序列化和反序列化java对象,自己做了一个例子。

spring mvc 默认@responsebody 自带的就是jackson 库,利用他来序列化和反序列化java 对象。在用这个之前,以前用过jsonlib,以及 GSON, 作为个人来说,其实很喜欢GSON , 这个东西用起来简单,功能貌似比jsonlib 强一点,而且不容易出错。但现在的项目用的是 jackson ,所以,还是得看看用这个怎么序列化和反序列化java对象,自己做了一个例子。

前提:假设有这样一个pojo 类

 
import java.util.ArrayList;
import java.util.List;
 
public class User {
 
	private int age = 29;
	private String name = "mkyong";
	private List messages = new ArrayList() {
		{
			add("msg 1");
			add("msg 2");
			add("msg 3");
		}
	};
 
	//getter and setter methods
 
	@Override
	public String toString() {
		return "User [age=" + age + ", name=" + name + ", " +
				"messages=" + messages + "]";
	}
}


一,java 对象序列化成json
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
 
public class JacksonExample {
    public static void main(String[] args) {
 
	User user = new User();
	ObjectMapper mapper = new ObjectMapper();
 
	try {
 
		// convert user object to json string, and save to a file
		mapper.writeValue(new File("c:\\user.json"), user);
 
		// display to console
		System.out.println(mapper.writeValueAsString(user));
 
	} catch (JsonGenerationException e) {
 
		e.printStackTrace();
 
	} catch (JsonMappingException e) {
 
		e.printStackTrace();
 
	} catch (IOException e) {
 
		e.printStackTrace();
 
	}
 
  }
 
}


二、json 反序列化成 java 对象
import java.io.File;
import java.io.IOException;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
 
public class JacksonExample {
    public static void main(String[] args) {
 
	ObjectMapper mapper = new ObjectMapper();
 
	try {
 
		// read from file, convert it to user class
		User user = mapper.readValue(new File("c:\\user.json"), User.class);
 
		// display to console
		System.out.println(user);
 
	} catch (JsonGenerationException e) {
 
		e.printStackTrace();
 
	} catch (JsonMappingException e) {
 
		e.printStackTrace();
 
	} catch (IOException e) {
 
		e.printStackTrace();
 
	}
 
  }
 
}

上一篇: ajax 返回json 在ie 下提示下载的解决办法
下一篇: java 根据 week num 利用calendar 得到这一周的起始时间
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号