「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","東京","大学"]}

Java

Posted by arkgame