我正在使用 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 之类的:
对象映射器:---> JSON 字符串:
{
"ContentInstance" : {
"st" : 1,
"cs" : 10,
"con" : "Sid"
}
所以 myNamingStrategy
不适用于 json 根元素。它的名称在序列化期间不会转换为短名称。
如何也为我的根元素应用类似的序列化和反序列化策略?