deserialization相关内容

Jackson 反序列化错误处理

我的问题很简单:我有以下简单的类: 公共类 Foo {私有 int id = -1;public void setId(int _id){ this.id = _id;}public int getId(){ 返回 this.id;}} 我正在尝试处理以下 JSON: {“id":“等等"} 显然这里有问题(“blah"不能解析为int) 以前,Jackson 抛出类似 org.co ..
发布时间:2022-01-07 08:01:52 Java开发

Jackson 注释:JsonIgnoreProperties(ignoreUnknown=true) 和 JsonInclude(Include.NON_EMPTY) 的区别

我很好奇 Jackson 注释 @JsonIgnoreProperties(ignoreUnknown=true) 和 @JsonInclude(Include.NON_EMPTY) 在类级别上有区别吗?一个只是另一个的更新版本吗?谢谢! jackson 文档 声明: ignoreUnknown 定义是否可以忽略的属性反序列化期间任何无法识别的属性. 这和空属性一样吗? 解 ..
发布时间:2022-01-07 00:01:04 其他开发

Jackson 反序列化不同对象的类型

我有一个返回布尔值或单例映射的网络服务的结果,例如 布尔结果: {编号:24428,评价:假} 地图结果: {编号:78,评级:{价值:10}} 个人而言,我可以轻松地映射这两者,但我一般如何做? 基本上我想将它映射到一个类: 公开课评分{私有整数 ID;私人国际评级;...公共无效setRated(?){//如果 value == false,则设置评级 = -1;//否则 ..
发布时间:2022-01-06 23:55:20 Java开发

找不到类型 [simple type, class ...] 的 (Map) Key 反序列化器

我有一个带有 Map 的域对象: private Map>自动处理; 当我序列化对象时,我得到: “自动处理":[“java.util.HashMap",{}], 这个 Map 的键是一个自定义对象: public class AutoHandlingSlotKey 实现了Serializable {私人功能区插槽;//枚举私有字符串返回视图;//枚举 因此,我不确定如何纠正反序列化对 ..
发布时间:2022-01-06 23:51:43 Java开发

Jackson JSON 反序列化:每行中的数组元素

我正在使用 Jackson 并且想要漂亮地打印 JSON,以便数组中的每个元素都转到每一行,喜欢: {"foo" : "酒吧",“等等":[1、2、3]} 设置 SerializationFeature.INDENT_OUTPUT true 只会为对象字段插入换行符,而不是数组元素,以这种方式打印对象: {"foo" : "酒吧",“等等":[1, 2, 3]} 有谁知道如何实现这 ..
发布时间:2022-01-06 23:47:30 Java开发

让杰克逊在任何地方都使用自定义反序列化器(对于不是我的类型)

我正在尝试设置 Jackson JSON 自定义解串器以将 JSON 值转换为 Long 对象.我按照本网站上的说明操作:http://wiki.fasterxml.com/JacksonHowToCustomDeserializers 设置自定义解串器. 然而,为了自定义反序列化器,我每次都必须注释例如 公共类TestBean {长期价值;@JsonDeserialize(使用=Long ..
发布时间:2022-01-06 23:46:13 Java开发

将 JSON 反序列化为现有对象 (Java)

我想知道如何让 Jackson JSON 库将 JSON 反序列化为现有对象?我试图找到如何做到这一点;但它似乎只能接受一个类并实例化它本身. 或者如果不可能,我想知道是否有任何 Java JSON 反序列化库可以做到. 这似乎是 C# 的相应问题:Overlay从 JSON 字符串到现有对象实例的数据.JSON.NET 似乎有一个 PopulateObject(string,obje ..
发布时间:2022-01-06 23:43:38 Java开发

Jackson JSON 库:如何实例化包含抽象字段的类

我想将一个 JSON 字符串转换为 java 对象,但是这个对象的类包含抽象字段,Jackson 无法实例化这些字段,并且不会生成该对象.告诉它抽象类的一些默认实现的最简单方法是什么,比如 setDefault(AbstractAnimal.class, Cat.class); 或根据 JSON 属性名称决定实现类,例如.对于 JSON 对象: {...猫: {...}...} 我只想说: ..
发布时间:2022-01-06 23:39:41 Java开发

jackson 注释中的多态性:@JsonTypeInfo 用法

我想知道@JsonTypeInfo注解是否可以用于接口.我有一组应该序列化和反序列化的类. 这就是我想要做的.我有两个实现类Sub1,Sub2 实现MyInt.一些模型类具有实现类型的接口引用.我想基于多态反序列化对象 @JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=As.WRAPPER_OBJECT)@JsonSubTypes({@Type ..
发布时间:2022-01-06 23:33:50 Java开发

Jackson 动态更改 JsonIgnore

我有一个类,里面也有变量.有时我想忽略某些字段,有时在反序列化时不想忽略(也许在序列化时也是如此).我怎样才能在杰克逊做到这一点? 解决方案 对于序列化,"过滤属性" 博客条目应该会有所帮助.反序列化方面支持较少,因为更常见的是想要过滤掉写入的内容. 一种可能的方法是对 JacksonAnnotationIntrospector 进行子类化,覆盖自省方法(和/或字段)的可忽略性的方法 ..
发布时间:2022-01-06 23:32:40 Java开发

Java:Jackson 多态 JSON 反序列化具有接口属性的对象?

我正在使用 Jackson 的 ObjectMapper 来反序列化一个对象的 JSON 表示,该对象包含一个接口作为其属性之一.代码的简化版本可以在这里看到: https://gist.github.com/sscovil/8735923 基本上,我有一个 Asset 类,它有两个属性:type 和 properties.JSON 模型如下所示: {“类型":“文件",“特性": ..
发布时间:2022-01-06 23:30:56 Java开发

使用 readClassDescriptor() 和 resolveClass() 来允许序列化版本控制

我正在研究 Java 序列化机制中的不同选项,以便在我们的类结构中灵活地进行版本容忍存储(并且提倡使用不同的机制,您无需告诉我). 例如,如果只需要向后兼容,默认序列化机制可以处理添加和删除字段. 事实证明,重命名类或将其移动到不同的包要困难得多.我在 这个问题 我能够通过继承 ObjectInputStream 和覆盖 readClassDescriptor() 来做一个简单的类重命 ..