使用先前版本的json从第三方jar重命名Jsonproperties

时间:2019-01-10 21:48:44

标签: java rest jackson

我有一个返回对象的REST接口。该对象中的字段之一是来自第三方jar的对象。第三方jar对象包含Jackson 1+中标记为@JsonProperty的字段。我们正在使用Jackson 2+,并且这些注释没有被使用。

我尝试创建MixIn,但是我仍然没有获得正确的属性名称。

import org.codehaus.jackson.annotate.JsonProperty;

public class ThirdPartyObject {
    @JsonProperty("lastName")
    public String ln;

    ...
} 

import com.fasterxml.jackson.annotation.JsonProperty;

public interface NewObject {
   @JsonProperty("lastName")
   abstract String getLastName();
}

在我的测试中,objectMapper初始化为:

objectMapper.setMixIns(ImmutableMap.<Class<?>, Class<?>>of(ThirdPartyObject.class, NewObject.class));

它正在返回{"ln": "Smith"} 当我期望{"lastName": "Smith"}

0 个答案:

没有答案