음이 같은 모습 PropertyNamingStrategy의 구현 할 수 있습니다 :
import org.codehaus.jackson.map.MapperConfig;
import org.codehaus.jackson.map.PropertyNamingStrategy;
import org.codehaus.jackson.map.introspect.AnnotatedField;
import org.codehaus.jackson.map.introspect.AnnotatedMethod;
public class CustomNameStrategy extends PropertyNamingStrategy
{
@Override
public String nameForField(MapperConfig
config,
AnnotatedField field, String defaultName) {
return convert(defaultName);
}
@Override
public String nameForGetterMethod(MapperConfig
config,
AnnotatedMethod method, String defaultName) {
return convert(defaultName);
}
@Override
public String nameForSetterMethod(MapperConfig
config,
AnnotatedMethod method, String defaultName) {
String a = convert(defaultName);
return a;
}
public String convert(String defaultName)
{
char[] arr = defaultName.toCharArray();
StringBuilder nameToReturn = new StringBuilder();
for(int i=0; i< arr.length(); i++){
if(arr[i] == '_'){
nameToReturn.append(Character.toUpperCase(arr[i+1]));
i++;
}else{
nameToReturn.append(arr[i]);
}
}
return nameToReturn.toString();
}
}
구현에 다음
또는 클래스 desrialization 당신이 가질 수있는 않습니다
ObjectMapper mapper = new ObjectMapper();
mapper.setPropertyNamingStrategy(new CustomNameStrategy());
YourClass yourClass = mapper.readValue(yourJsonString, YourClass.class);
@JLewkovich이 ISN을 정확히 똑같아. 질문의 마지막 줄을 읽으십시오. 나는 그곳에서 받아 들여진 대답 인'@ JsonProperty' 주석에 대해서 말하고있는 것이 아닙니다. –
실제로 참조 된 질문에는 귀하가 아마도 관심이있는 답변이 있습니다. 가장 높은 upvoted 하나를보십시오. – Quadrat137
@ Quadrat137 예 답변을 보았습니다. 답변 아래에 내 의견을 볼 수도 있습니다. 그것은 나를 위해 두 가지 방법으로 작동하지 않았다. 그게 내 질문 이었어. –