ObjectMapper没有考虑注释

时间:2015-09-18 19:45:52

标签: java json rest jackson

我有下面的代码片段可以将带注释的Java对象转换为Json String。

 try {
            String jsonString = mapper.writeValueAsString(obj);
            LOGGER.debug("logAsJson", jsonString);
        } catch (Exception e) {
            LOGGER.warn("logAsJson", "Exception in logging only. Nothing critical! ", e);
        }

我的班级看起来像这样

公共类汽车{

@JsonProperty("capabilities")
private List<Capability> capability = new ArrayList<Capability>();

@JsonProperty("periodicity")
@NotNull
private Periodicity periodicity;

@JsonProperty("car_driver")
private List<carDriver> carDriver = new ArrayList<carDriver>();

}

问题是,在从对象创建json字符串时,对象映射器不考虑字段名称的注释。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可能已经从不同的库版本导入了json批注和对象映射器。确保它们来自同一库。

示例

import com.fasterxml.jackson.annotation.JsonProperty;

import com.fasterxml.jackson.databind.ObjectMapper;