1

目前我的应用程序有一个类如下

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Employee {
  Department department;
  String firstName;
  String lastName;
  String address;
  String phoneNumber;
}

我在将对象转换为 JSON 的日志中捕获员工对象。我能够将对象转换为 JSON,但空值不会进入 JSON。

我已经尝试过以下

 objectMapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);
 generator.setCodec(objectMapper);
 generator.writeObjectField(fieldName, argument);

但无法获取 JSON 中字段的空值。我如何得到它们?

4

1 回答 1

0

您可以复制ObjectMapper并更改它的一些选项,在这种情况下您可以忽略注释:

ObjectMapper mapperIgnoringAnnotations = mapper.copy()
        .disable(MapperFeature.USE_ANNOTATIONS)
        .setSerializationInclusion(JsonInclude.Include.ALWAYS)
        .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)

然后使用这个修改ObjectMapper来序列化这个类,但其他类的标准。Employee如果您要考虑许多其他注释,则不方便。

USE_ANNOTATIONS

于 2018-02-19T10:18:31.700 回答