두 손끝의 창조자

gson Json to Object 에서 Object 필드 매핑 전략 설 본문

프로그래밍언어/Java

gson Json to Object 에서 Object 필드 매핑 전략 설

codinglog 2022. 11. 4. 16:58

Map에 Key가 abc01 이고 Object 필드의 필드명이 abc_01 일 때 서로 매핑 가능하도록 하려면 매핑전략을 정의해야한다.

Gson gson = new GsonBuilder()
.setFieldNamingStrategy(f -> concatUnderscoredIndex(f.getName()))
.create();
String concatUnderscoredIndex(String str) {
        if (str == null)
            return null;
        if (!str.contains("_"))
            return str;
        int i = str.lastIndexOf("_");
        if (i == 0)
            return str;
        String prefix = str.substring(0, i);
        String suffix = str.substring(i + 1);
        if (suffix.length() == 0)
            return str;
        for (int j = 0; j < suffix.length(); j++) {
            if (!Character.isDigit(suffix.charAt(j))) {
                return str;
            }
        }

        return prefix + suffix;
    }
반응형
Comments