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);