Java 不考虑注释的ObjectMapper

Java 不考虑注释的ObjectMapper,java,json,rest,jackson,Java,Json,Rest,Jackson,我有下面一段代码,可以将带注释的Java对象转换为Json字符串 try { String jsonString = mapper.writeValueAsString(obj); LOGGER.debug("logAsJson", jsonString); } catch (Exception e) { LOGGER.warn("logAsJson", "Exception in logging only

我有下面一段代码,可以将带注释的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);
        }
我的班级看起来像这样

公车{

@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>();
@JsonProperty(“功能”)
私有列表功能=新建ArrayList();
@JsonProperty(“周期性”)
@NotNull
私人周期性;
@JsonProperty(“汽车司机”)
私有列表carDriver=new ArrayList();
}

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


提前感谢。

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

例如

import com.fasterxml.jackson.annotation.JsonProperty


检查类路径中是否有jackson 1和jackson 2,以及是否使用一个版本的mapper和另一个版本的批注。这也是我的想法,请检查您使用的批注是否与您使用的库匹配。这很有效,非常感谢:)@Ajay您是如何解决此问题的?。我也面临同样的问题
import com.fasterxml.jackson.databind.ObjectMapper;