「Java」オブジェクトからJSONに変換するサンプル

環境
Eclipse 2019-12
JDK1.8

説明
JSONを処理するライブラリでJavaのキャメルケースの項目を、JSONのスネークケースの項目に変換してセットします。

1.pom.xmlの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.1</version>
</dependency>
</dependencies>
<dependencies> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.1</version> </dependency> </dependencies>
<dependencies>
      <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.13.1</version>
      </dependency>
</dependencies>

2.Userクラスの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
import java.util.List;
public class User {
//名前
private String username;
//年齢
private int age;
//属性リスト
private List<String> usLst;
/**
* @return username
*/
public String getUsername() {
return username;
}
/**
* @param username セットする username
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return age
*/
public int getAge() {
return age;
}
/**
* @param age セットする age
*/
public void setAge(int age) {
this.age = age;
}
/**
* @return usLst
*/
public List<String> getUsLst() {
return usLst;
}
/**
* @param usLst セットする usLst
*/
public void setUsLst(List<String> usLst) {
this.usLst = usLst;
}
}
package com.arkgame.study; import java.util.List; public class User { //名前 private String username; //年齢 private int age; //属性リスト private List<String> usLst; /** * @return username */ public String getUsername() { return username; } /** * @param username セットする username */ public void setUsername(String username) { this.username = username; } /** * @return age */ public int getAge() { return age; } /** * @param age セットする age */ public void setAge(int age) { this.age = age; } /** * @return usLst */ public List<String> getUsLst() { return usLst; } /** * @param usLst セットする usLst */ public void setUsLst(List<String> usLst) { this.usLst = usLst; } }
package com.arkgame.study;

import java.util.List;

public class User {

      //名前
      private String username;
      //年齢
      private int age;
      //属性リスト
      private List<String> usLst;

      /**
       * @return username
       */
      public String getUsername() {
            return username;
      }

      /**
       * @param username セットする username
       */
      public void setUsername(String username) {
            this.username = username;
      }

      /**
       * @return age
       */
      public int getAge() {
            return age;
      }

      /**
       * @param age セットする age
       */
      public void setAge(int age) {
            this.age = age;
      }

      /**
       * @return usLst
       */
      public List<String> getUsLst() {
            return usLst;
      }

      /**
       * @param usLst セットする usLst
       */
      public void setUsLst(List<String> usLst) {
            this.usLst = usLst;
      }

}

3.オブジェクトからJSONに変換

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
public class UserJson {
public static void main(String[] args) {
//オブジェクトのインスタンスを生成
User user = new User();
//名前を設定
user.setUsername("yAmada");
//年齢を設定
user.setAge(32);
//オブジェクトのリストの値を設定
List<String> uLst = new ArrayList<>();
uLst.add("SE");
uLst.add("東京");
uLst.add("大学");
user.setUsLst(uLst);
ObjectMapper mapper = new ObjectMapper();
// スネークケースを指定
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);
String result = null;
try {
// オブジェクトからString型のデータに変換
result = mapper.writeValueAsString(user);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
System.out.println("JavaオブジェクトからJSONに変換する結果");
System.out.println(result);
}
}
package com.arkgame.study; import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategies; public class UserJson { public static void main(String[] args) { //オブジェクトのインスタンスを生成 User user = new User(); //名前を設定 user.setUsername("yAmada"); //年齢を設定 user.setAge(32); //オブジェクトのリストの値を設定 List<String> uLst = new ArrayList<>(); uLst.add("SE"); uLst.add("東京"); uLst.add("大学"); user.setUsLst(uLst); ObjectMapper mapper = new ObjectMapper(); // スネークケースを指定 mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE); String result = null; try { // オブジェクトからString型のデータに変換 result = mapper.writeValueAsString(user); } catch (JsonProcessingException e) { e.printStackTrace(); } System.out.println("JavaオブジェクトからJSONに変換する結果"); System.out.println(result); } }
package com.arkgame.study;

import java.util.ArrayList;
import java.util.List;

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

public class UserJson {

      public static void main(String[] args) {
            //オブジェクトのインスタンスを生成
            User user = new User();
            //名前を設定
            user.setUsername("yAmada");
            //年齢を設定
            user.setAge(32);
            //オブジェクトのリストの値を設定
            List<String> uLst = new ArrayList<>();
            uLst.add("SE");
            uLst.add("東京");
            uLst.add("大学");
            user.setUsLst(uLst);

            ObjectMapper mapper = new ObjectMapper();
            // スネークケースを指定
            mapper.setPropertyNamingStrategy(PropertyNamingStrategies.SNAKE_CASE);

            String result = null;

            try {
                  // オブジェクトからString型のデータに変換
                  result = mapper.writeValueAsString(user);
            } catch (JsonProcessingException e) {
                  e.printStackTrace();
            }

            System.out.println("JavaオブジェクトからJSONに変換する結果");
            System.out.println(result);

      }

}

4.実行結果
JavaオブジェクトからJSONに変換する結果
{“username":"yAmada","age":32,"us_lst":[“SE","東京","大学"]}

Java

Posted by arkgame