类似于将JsonNode转换为POJO和将JsonNode转换为java array,但无法找到问题的确切解决方案。
以下是我的POJOs声明:
public class Building implements Serializable {
private BuildingTypes type;
public Building(BuildingTypes type) {
this.type = type;
}
public BuildingTypes getType() {
return type;
}
}
public enum BuildingTypes {
TRIPLEX, DUPLEX, HOUSE
}
所以在我的测试中,我想得到一个建筑列表,并将json列表转换/绑定到一个真实对象建筑列表。
以下是我想做的:
Result result = applicationController.listLatestRecords();
String json = contentAsString(result);
JsonNode jsonNode = Json.parse(json);
List<Building> buildings = new ArrayList<>();
buildings.add(mapper.treeToValue(jsonNode.get(0), Building.class));
但是,我得到以下错误:
com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class domain.building.Building]: can not instantiate from JSON object (need to add/enable type information?)
显然,如果我在Building类中删除了构造函数,并为字段类型添加了setter,它就会起作用。但是如果我确实有一个要求,迫使我避免使用setter,那么必须使用构造函数来初始化类型值吗?如何将json轻松绑定/转换为建筑列表?
我还尝试了以下方法,但没有成功:
List<Building> buildings = mapper.readValue(contentAsString(result),
new TypeReference<List<Building>>() {});
错误消息说明了一切,您的构建类没有默认构造函数,因此Jackson无法创建它的实例。
在建筑类中添加默认构造函数
public class Building implements Serializable {
private BuildingTypes type;
public Building(BuildingTypes type) {
this.type = type;
}
// Added Constructor
public Building() {
}
public BuildingTypes getType() {
return type;
}
}
我正在使用websocket和JsonNode开发Play framewrok 2。前端通过使用websocket连接到play framework后端。我将javascript数组转换为json节点,并通过使用webscoket连接将其发送到后端。现在,我的问题是如何将json对象转换为java数组或任何合适的结构,以便操作数据。 这是我创建的json对象 这是动态填充的数组 下面的代码发送数据
我试图实现的是在自定义反序列化器中将JsonNode转换为POJO(=反序列化它)。 大多数其他答案建议使用对象映射器,但我在反序列化方法中没有对象映射器。 这是我的自定义反序列化程序: (
主要内容:转换构造函数,再谈构造函数,对 Complex 类的进一步精简在 C/ C++ 中,不同的数据类型之间可以相互转换。无需用户指明如何转换的称为自动类型转换(隐式类型转换),需要用户显式地指明如何转换的称为强制类型转换。 自动类型转换示例: 编译器对 7.5 是作为 double 类型处理的,在求解表达式时,先将 a 转换为 double 类型,然后与 7.5 相加,得到和为 13.5。在向整型变量 a 赋值时,将 13.5 转换为整数 13,然后赋给 a。整
在.citydoor.imports.catalog.tools中打包;
本文向大家介绍Android自定义View构造函数详解,包括了Android自定义View构造函数详解的使用技巧和注意事项,需要的朋友参考一下 初始Custom View的构造函数 之前写过一篇实现圆形进度条的博客(自定义圆形进度条),通常我们在实现Custom View的时候,都会先继承View并实现View的三个构造函数,例如: 网上有很多关于三个构造函数使用时机的说法,但是说法正确的却没有几
问题内容: 这似乎有点不正常,但我在寻找一个有效的方式来变换/映射成。 我将模型的一些信息存储在json文件中,并且我必须支持模型的几个版本。 我要做的是将json文件加载到JsonNode的内存中,应用一些版本控制策略以使其与我的Model的最新版本匹配。 除非有更快的方法,否则我可能最终将手动将其应用于模型 问题答案: 在Jackson 2.4中,可以进行如下转换: 杰克逊在哪儿? 在旧版的J