我有下面的代码片段可以将带注释的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字符串时,对象映射器不考虑字段名称的注释。
提前致谢。
答案 0 :(得分:2)
您可能已经从不同的库版本导入了json批注和对象映射器。确保它们来自同一库。
示例
import com.fasterxml.jackson.annotation.JsonProperty;
和
import com.fasterxml.jackson.databind.ObjectMapper;