我有以下课程:
class Foo {
@JsonCreator
public Foo()
{
}
}
我得到以下例外:
com.fasterxml.jackson.databind.JsonMappingException:没有为类Foo找到序列化程序,也没有发现创建BeanSerializer的属性(为了避免异常,请禁用SerializationFeature.FAIL_ON_EMPTY_BEANS))
无法以这种方式序列化。而且我不想忽略该值,我只想将{}
输出视为JSON。
任何帮助将不胜感激。
答案 0 :(得分:2)
您必须禁用SerializationFeature.FAIL_ON_EMPTY_BEANS
选项。见下面的例子:
ObjectMapper mapper = new ObjectMapper();
mapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
System.out.println(mapper.writeValueAsString(new Foo()));
以上程序打印:
{}
另见:
答案 1 :(得分:1)
在这种情况下,我会使用 @JsonSerialize 注释:
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
@JsonSerialize
public class Foo {
public Foo() {}
}
请注意,您需要为maven添加此依赖项:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>