Jackson-first-application
提供:Dev Guides
ジャクソン-最初のアプリケーション
jacksonライブラリーの詳細に入る前に、アプリケーションの動作を見てみましょう。 この例では、Studentクラスを作成しました。 学生の詳細を含むJSON文字列を作成し、学生オブジェクトにデシリアライズしてから、JSON文字列にシリアル化します。
*C:\> Jackson_WORKSPACE* にJacksonTesterという名前のJavaクラスファイルを作成します。
ファイル:JacksonTester.java
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
//map json to student
try{
Student student = mapper.readValue(jsonString, Student.class);
System.out.println(student);
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
System.out.println(jsonString);
}
catch (JsonParseException e) { e.printStackTrace();}
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします。
C:\Jackson_WORKSPACE>javac JacksonTester.java
次に、jacksonTesterを実行して結果を確認します。
C:\Jackson_WORKSPACE>java JacksonTester
出力を確認する
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}
覚えておくべき手順
以下は、ここで考慮すべき重要な手順です。
ステップ1:ObjectMapperオブジェクトを作成します。
ObjectMapperオブジェクトを作成します。 これは再利用可能なオブジェクトです。
ObjectMapper mapper = new ObjectMapper();
手順2:JSONをオブジェクトにシリアル化解除します。
readValue()メソッドを使用して、JSONからオブジェクトを取得します。 JSON文字列/JSON文字列のソースとオブジェクトタイプをパラメータとして渡します。
//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);
ステップ3:オブジェクトをJSONにシリアル化します。
writeValueAsString()メソッドを使用して、オブジェクトのJSON文字列表現を取得します。
//Object to JSON Conversion
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);