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