「Java」オブジェクトからJSONに変換するサンプル
環境
Eclipse 2019-12
JDK1.8
説明
JSONを処理するライブラリでJavaのキャメルケースの項目を、JSONのスネークケースの項目に変換してセットします。
1.pom.xmlの定義
<dependencies> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.1</version> </dependency> </dependencies>
2.Userクラスの定義
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に変換
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","東京","大学"]}