- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
目前我的应用程序有一个类如下
@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 中字段的 null 值。我如何获得它们?
最佳答案
您可以复制ObjectMapper
并更改其一些选项,在这种情况下您可以忽略注释:
ObjectMapper mapperIgnoringAnnotations = mapper.copy()
.disable(MapperFeature.USE_ANNOTATIONS)
.setSerializationInclusion(JsonInclude.Include.ALWAYS)
.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)
然后使用这个修改后的ObjectMapper
来序列化该类,但使用其他类的标准序列化。如果 Employee
有许多您想要考虑的其他注释,那就不太方便了。
关于java - 如何序列化在类级别提供的值 JsonInclude.Include.NON_NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48856963/
我如何告诉一个类只包含 NON_EMPTY 和 NON_NULL 值,使用 @JsonInclude(Include.NON_NULL) @JsonInclude(Include.NON_EMPTY)
我用 @JsonInclude(JsonInclude.Include.NON_NULL) 注释了 POJO,以在序列化/反序列化时排除所有 null 字段。但现在我需要从这种行为中排除其中一个字段。
在 route!=0 的情况下,我正在尝试检索 {"status":201} 但我得到的是 {"status":201 "distance":0.0} 如何使用 @JsonInclude 或 Jack
我有一个如下的dto public class MyClass { @JsonProperty("value") @JsonInclude(JsonInclude.Include.NO
Java 1.8, jackson 库 2.1.5 我需要覆盖对象在 json 中序列化的行为。 我需要的是忽略序列化 json 响应中的 bonus 属性,以防值为 null 并且员工是 Partn
目前我的应用程序有一个类如下 @JsonInclude(JsonInclude.Include.NON_NULL) public class Employee { Department depar
我在 Response 类上添加了 @JsonInclude(Include.NON_NULL) 注释。 @JsonInclude(Include.NON_NULL) public class Res
我既想使用自定义序列化程序,又想使用 JsonInclude.Include.NON_DEFAULT 指定。当我不使用自定义序列化程序时,它很荣幸,但当我使用自定义序列化程序时,它不是。 这是 jac
我的遗留应用程序中有一个复杂的多层继承/封闭类结构(大多数类的深度超过 3 层)。 现在,我们想使用 Jackson 将这些作为 JSON 流式传输到前端。 当某些字段全部丢失时,我们的(旧版)前端客
我已经在类/pojo 上放置了注释并配置了映射器,但它仍然序列化 null 值 我正在使用 Hibernate 4.3.7Final 和 Jackson 2.4.4。这些集合是延迟加载 Pojo:删除
我试图了解 @JsonInclude 存在的原因是什么,以便在我的 DTO 中使用它。让我们看一下这个简单的例子: 代码: class DemoApplication { static voi
似乎当我使用自定义序列化器时,@JsonInclude(Include.NON_NULL) 被完全忽略。 我的要求是不序列化值为空的键。我还想通过为多值 SortedSet 添加空格分隔符来格式化字符
问题: 是否可以在创建 ObjectMapper 时覆盖 POJO 中定义的 Include.NON_NULL? 解释: 假设我有一个如下所示的 POJO: @JsonInclude(Include.
我正在尝试将我的 json 字符串转换为 java 对象,但出现错误 Exception in thread "main" java.lang.NoClassDefFoundError: com/fa
我很好奇 Jackson 注释 @JsonIgnoreProperties(ignoreUnknown=true) 和 @JsonInclude(Include.NON_EMPTY) 在类级别上有区别
当我使用 Postman 向 games/ 发送 GET 时,收到 400 无法解析 JSON 错误。 游戏资源: @Path("/games") @Produces(MediaType.APPLIC
我是一名优秀的程序员,十分优秀!