さてあなたはこのようなものになります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 1を見てください – Quadrat137
@ Quadrat137はい私は答えを見ている、あなたはまた答えの下に私のコメントを見ることができます。それは私のために両方の方法で動作しませんでした。それが私の質問だった。 –