jackson json 의 간단 한 사용

5862 단어 자바jackson json
최근 에 제 이 슨 데 이 터 를 분석 해 야 합 니 다. 예전 에는 제 이 슨 - lib 로 괜 찮 았 는데 가끔 은 불편 할 때 가 있 었 습 니 다. 그리고 다음 과 같은 잭 슨 제 이 슨 을 사 용 했 습 니 다.
진짜 편 하 더 라 고요.
나 는 list 대상 을 json 대상 으로 바 꾸 고 json 배열 을 List 대상 으로 바 꿔 야 한다.
jackson json 공식 주소: http://jackson.codehaus.org/
jackson json 은 json 데 이 터 를 변환 하 는 세 가지 방법 이 있 습 니 다.
스 트림 모드, 트 리 모드, 데이터 바 인 딩 모드.서로 다른 환경 에서 사용 하면 나의 수요 데이터 바 인 딩 모델 은 간단 하면 실현 할 수 있다.
user 개체 코드:
package jackson;

import java.io.Serializable;

/**
 * 
 * @author alaric
 *
 */
public class User  implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
	private String username;
	private String password;
	private Integer sex;
	private Integer age;
	private String brithday;
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public Integer getSex() {
		return sex;
	}
	public void setSex(Integer sex) {
		this.sex = sex;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getBrithday() {
		return brithday;
	}
	public void setBrithday(String brithday) {
		this.brithday = brithday;
	}
	
	
}

 
 
result 개체 코드:
package jackson;

import java.io.Serializable;
import java.util.List;

public class Result implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 9121346318498657366L;

	private Integer msgCode;
	private String message;
	private List<User> list;
	public Integer getMsgCode() {
		return msgCode;
	}
	public void setMsgCode(Integer msgCode) {
		this.msgCode = msgCode;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	public List<User> getList() {
		return list;
	}
	public void setList(List<User> list) {
		this.list = list;
	}
	@Override
	public String toString() {
		return "{msgCode:"+msgCode+" message:"+message+" list:"+list.toString()+"}";
	}
	
	
}

 테스트 코드:
package jackson;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class JacksonTest {

	
	public static Result json2Obj(String json){
	    try {
			ObjectMapper mapper = new ObjectMapper();
			Result result = mapper.readValue(json, Result.class);
			return result;
		} catch (JsonParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (JsonMappingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public static String obj2Json(Result result){
		try {
			ObjectMapper mapper= new ObjectMapper();
			String json = mapper.writeValueAsString(result);
			return json ;
		} catch (JsonGenerationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (JsonMappingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	
	public static Result getData(){
		Result result = new Result();
		result.setMessage("    ");
		result.setMsgCode(1);
		List<User> list = new ArrayList<>();
		User user1= new User();
		user1.setAge(25);
		user1.setBrithday("1986-06-26");
		user1.setId(1);
		user1.setPassword("3424242");
		user1.setSex(2);
		user1.setUsername("zhangsan");
		list.add(user1);
		result.setMessage("    ");
		result.setMsgCode(1);
		User user2= new User();
		user2.setAge(25);
		user2.setBrithday("1986-06-26");
		user2.setId(1);
		user2.setPassword("3424242");
		user2.setSex(2);
		user2.setUsername("lisi");
		list.add(user2);
		result.setList(list);
		return result;
	}
	public static void main(String[] args) {
		Result result = getData();
		String json = obj2Json(result);
		
		System.out.println(json);
		result = json2Obj(json);
		List <User> list  = result.getList();
		for(User user:list){
			System.out.println(user.getUsername());
		}
		System.out.println(result.toString());
	}
	
}

 

좋은 웹페이지 즐겨찾기