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