Java JSON - Convert Java Object To / From JSON (Jackson)(一)

2014-11-24 07:25:43 · 作者: · 浏览: 3

Java JSON - Convert Java Object To / From JSON (Jackson)

JSON(java script Object Notation)是一种轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。 维基百科:http://zh.wikipedia.org/wiki/JSON


Jackson is a High-performance JSON processor Java library--Jackson是高性能解析JSON的Java lib


核心代码:

//1. Convert Java object to JSON format
ObjectMapper mapper = new ObjectMapper();
mapper.writeva lue(new File("c:\\user.json"), user);

//2. Convert JSON to Java object
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(new File("c:\\user.json"), User.class);


以下为具体例子:

一. POJO User.java

package com.jiangge.jkstest;

import java.util.ArrayList;
import java.util.List;

public class User {
	
	private int age = 23;
	private String name = "jiangge";
	private String qqNum = "499065469";

	private List
  
    message = new ArrayList
   
    () { { add("msg 1"); add("msg 2"); add("msg 3"); } }; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List
    
      getMessage() { return message; } public void setMessage(List
     
       message) { this.message = message; } public String getqqNum() { return qqNum; } public void setqqNum(String qq) { this.qqNum = qq; } @Override public String toString() { return "User [age=" + age + ", name=" + name + ", message=" + message + "]"; } }
     
    
   
  



二. Java Object to JSON
Convert an “user” object into JSON formatted string, and save it into a file “user.json“.

package com.jiangge.jkstest;

import java.io.File;
import java.io.IOException;


import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

//To make this work with the latest (1.9.3) Jackson, 
//there must be getters and setters for the members in the User class.

public class JacksonExampleToJson {
	public static void main(String[] args) {
		 
		User user = new User();
		ObjectMapper objMapper = new ObjectMapper();
		try {
			// convert user object to json string, and save to a file
			objMapper.writeva lue(new File("c:\\user.json"), user);
			// display to console
			System.out.println(objMapper.writeva lueAsString(user));
			
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
	 
		}
	 
	  }
}
控制台输出:

{"age":23,"name":"jiangge","qqNum":"499065469","message":["msg 1","msg 2","msg 3"]}




三. JSON to Java Object
Read JSON string from file “user.json“, and convert it back to Java object.

package com.jiangge.jkstest;

import java.io.File;
import java.io.IOException;

import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JacksonExampleRead {
	public static void main(String[] args) {
		 
		ObjectMapper objMapper = new ObjectMapper();
		try {
			// read from file, convert it to user class
			User user = objMapper.readValue(new File("c:\\user.json"), User.class);
			// display to console
			System.out.println(user);
	 
		} catch (JsonGenerationException e) {
			e.printStackTrace();
		} catch (JsonMa