「Gradle」JacksonでJSON文字列をJavaプロジェクトに変換

構文
ObjectMapper mapper = new ObjectMapper();
クラス名 オブジェクト名 = mapper.readValue(json文字列, クラス名.class);

使用例
1.build.gradle(gradleプロジェクトの設定ファイル)

dependencies {
     // jackson-databindの導入
     implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.0'
}

2.javaクラスの定義

package com.arkgame.course;

public class User {

      public int age;
      public String username;
      public String addr;

      public String toString() {
            return "age=" + age + ",username = " + username + ", addr=" + addr;
      }
  // get set 省略
}

3.JSON文字列をJavaオブジェクトに変換

package com.arkgame.course;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonToObj {

      public static void main(String[] args)
                  throws JsonProcessingException {
            //JSON文字列変数の宣言
            String jsonA = "{\"age\":32,\"username\":\"山田 次郎\",\"addr\":\"大阪\"}";
            String jsonB = "{\"age\":22,\"username\":\"大崎 太郎\",\"addr\":\"東京\"}";
            
            // ObjectMapper変数の宣言
            ObjectMapper mapper = new ObjectMapper();
            
            //JSON文字列の値をJavaオブジェクトに変換
            User user = mapper.readValue(jsonA, User.class);
            System.out.println("json->object値1: " + user);

            user = mapper.readValue(jsonB, User.class);
            System.out.println("json->object値2: " + user);

      }

}

4.結果

json->object値1: age=32,username = 山田 次郎, addr=大阪
json->object値2: age=22,username = 大崎 太郎, addr=東京

 

gradle

Posted by arkgame