設定手順
[1] Jacksonのライブラリを、以下のサイトから3つのjarをダウンロード
http://wiki.fasterxml.com/JacksonDownload
1-1)jackson-core-X.X.X.jar
1-2)jackson-annotations-X.X.X.jar
1-3)jackson-databind-X.X.X.jar
(X.X.X : Version。今回は、「2.2.3」を用いた)
[2] ダウンロードしたJARファイルをインポートする
(例えば、Eclipseの場合、プロジェクトを右クリックし、
[Propaties]-[Java Build Paht]-[Libraries]-[Add External JARs]で
上記のJARファイルを追加する)
サンプル
SampleJsonWithJackson.java
import java.util.ArrayList;
import com.fasterxml.jackson.databind.ObjectMapper;
public class SampleJsonWithJackson {
public static void main(String args[]) throws Exception {
// データ設定
Person person = new Person();
person.setName("Mike");
person.setAge(28);
ArrayList<String> skills = new ArrayList<String>();
skills.add("C");
skills.add("C#");
skills.add("Java");
person.setSkills(skills);
ObjectMapper mapper = new ObjectMapper();
// Bean -> JSON
String json = mapper.writeValueAsString(person);
System.out.println("JSON: " + json);
// JSON -> Bean
Person restored = mapper.readValue(json, Person.class);
System.out.println("Name : " + restored.getName());
System.out.println("Age : " + restored.getAge());
for (String skill : restored.getSkills()) {
System.out.println("Skill : " + skill);
}
}
}
* ただのサンプル・オブジェクト
import java.util.List;
public class Person {
private String name;
private int age;
private List<String> skills;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
public List<String> getSkills() {
return this.skills;
}
public void setSkills(List<String> skills) {
this.skills = skills;
}
}
出力結果
* 何か表示がもっさりしてるのだが...
JSON: {"name":"Mike","age":28,"skills":["C","C#","Java"]}
Name : Mike
Age : 28
Skill : C
Skill : C#
Skill : Java