1

我正在使用 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 根元素。它的名称在序列化期间不会转换为短名称。

如何也为我的根元素应用类似的序列化和反序列化策略?

4

0 回答 0