我有以下课
public class WorkpoolId implements Serializable {
@NotNull
private Long id = null;
@JsonCreator
public WorkpoolId(@JsonProperty("workpoolId") long id) {
this.id = Long.valueOf(id);
}
public WorkpoolId(Long id) {
this.id = id;
}
public WorkpoolId(String id) {
this.id = Long.valueOf(id);
}
private WorkpoolId() {
}
}
映射时
“workpoolId”:1
到这个班我得到一个
javax.ws.rs.ProcessingException:com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造WorkpoolId
的实例(尽管至少存在一个Creator):没有int/Int-参数构造函数/工厂方法从数字值反序列化(1)
为什么jackson不能对数值使用长构造函数?
它失败是因为您的工作池ID无法访问字段WorkpoolId,它不在其上下文anuymore中。当JSON被反序列化时,可以将其反序列化为
现在,在构建其字段workpoolId时,workbookId的使用可用于Data
中的JsonCreator。
为了稍微澄清这一点,下面是一个可能的数据类示例:
@Getter @Setter
public class Data {
private WorkpoolId workpoolId;
@JsonCreator // here it is a property!
public Data(@JsonProperty("workpoolId") long id) {
this.workpoolId = new WorkpoolId(id);
}
}
Json类似于{code>{“workpoolId”:1}
要使其工作,只需从属性声明中删除注释。实际上,不需要整个JsonCreator注释。
当用Jackson反序列化LocationGeneric时,我在Kotlin中遇到了以下问题。在这种情况下,我没有向用于构造具体类的抽象类添加额外信息。当我反序列化位置一或位置二时,它工作得很好。 这是我写的代码: 这是我遇到的错误: 无法构造的实例(尽管至少存在一个Creator):无法从Object值反序列化(没有基于委托或属性的Creator) 我尝试将抽象类更改为开放类,但到目前为止没有成
虽然这个问题听起来很简单,但我也在一个非常简单的bean上遇到了这个异常: JSON: 异常: 应用程序: JSON文件位于类路径上。 我尝试过的: 显式Lombok注释关于class
我正在使用以下DTO: 和 我调用了一个REST web服务,并从Postman那里看到我(正确地)收到了以下响应: 附言。1)我还有其他扩展BasicResponseDTO的DTO,反序列化对它们很有效。 附言。2)在服务器和客户端上,类的定义是相同的。
以下方法transtToObject使用Jackson将XML转换为Object。我得到以下错误: 以下是核心类: 这是输入XML: 以下是两个POJO: 这是pom文件中的依赖项。
Spring启动版本:1.5.10 杰克逊版本:2.9.5 龙目岛版本:1.18.0 我有一个使用Kafka发送有效载荷的场景。在接收到有效载荷时,我试图断言接收者和发送者端的有效载荷是否相同。 首先,我创建了一个类,它将作为有效负载传递。类的结构如下所示。使用的lombok插件版本是1.18.0。 现在来谈主要问题。因此,在我的另一个测试用例中,我通过kafka发送有效负载,在收到来自kafka
在C#、C和Java中,当你创建一个带参数的构造函数时,默认的无参数构造函数就消失了。我一直只是接受这个事实,但现在我开始想为什么。 这种行为的原因是什么?这仅仅是一个“安全度量/猜测”,说“如果你已经创建了自己的构造函数,你可能不希望这个隐含的函数四处游荡”?或者它有一个技术原因,使得编译器不可能在你自己创建构造函数后添加一个?