프로그래밍언어/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;
}반응형