ObjectMapper 不考虑注释

Aja*_*jay 5 java rest json jackson

我有下面的一段代码,它将带注释的 Java 对象转换为 Json 字符串。

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

我的课程看起来像这样

公共课汽车{

@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>();
Run Code Online (Sandbox Code Playgroud)

}

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

提前致谢。

Sat*_*esh 10

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

例子,

import com.fasterxml.jackson.annotation.JsonProperty;

import com.fasterxml.jackson.databind.ObjectMapper;
Run Code Online (Sandbox Code Playgroud)