「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=東京