我正在使用jackson 1.9并使用其ObjectMapper
类来序列化和反序列化我的内容。所以我使用 PropertyNamingStrategy ,它在序列化和反向反序列化反序列化过程中转换特定表单中的所有键。
public class LongNameShortNameNamingStrategy extends PropertyNamingStrategyBase {
@Override
public String translate(String propertyName) {
System.out.println("Translate: " + propertyName);
String shortName = null, longName = null;
longName = LongNameShortNames.getLongName(propertyName);
if (longName != null){
return longName;
}
shortName = LongNameShortNames.getShortName(propertyName);
if (shortName != null){
return shortName;
}
return propertyName;
}
}
然而这导致我像json一样:
OBJECT MAPPER:---> JSON STRING:
{
"ContentInstance" : {
"st" : 1,
"cs" : 10,
"con" : "Sid"
}
所以我的NamingStrategy
未应用于json根元素。在序列化期间,它的名称不会转换为短名称。
如何为我的根元素应用类似的序列化和反序列化策略?