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

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dependencies {
  // jackson-databindの導入
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.0'
}
dependencies {   // jackson-databindの導入 implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.0' }
dependencies {
     // jackson-databindの導入
     implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.0'
}

2.javaクラスの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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 省略
}
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 省略 }
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オブジェクトに変換

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);
}
}
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); } }
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.結果

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
json->object値1: age=32,username = 山田 次郎, addr=大阪
json->object値2: age=22,username = 大崎 太郎, addr=東京
json->object値1: age=32,username = 山田 次郎, addr=大阪 json->object値2: age=22,username = 大崎 太郎, addr=東京
json->object値1: age=32,username = 山田 次郎, addr=大阪
json->object値2: age=22,username = 大崎 太郎, addr=東京

 

gradle

Posted by arkgame