我在试着读我的。json文件。Is是一个车辆存储类。
"{\"vehicles\":[{\"id\":\"9467d079-4502-4dba-9d23-b8506dfc7ef4\",\"plate\":\"ghghghhg\",\"manufacturer\":\"Alfa Romeo\",\"model\":\"hgghgh\",\"color\":\"Amarelo\"}]}"
这是错误:
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造车辆存储库
的实例(尽管至少存在一个Creator):无法构造车辆存储库
的实例(尽管至少存在一个Creator):没有字符串参数构造函数/工厂方法来从[Source:(File); line: 1,列: 1]处的字符串值反序列化
创建<代码>。我正在使用的json文件:
repository.vehicles = new ArrayList<Vehicle>();
repository.vehicles.add(vehicle);
json = mapper.writeValueAsString(repository);
ObjectMapper write = new ObjectMapper();
write.writeValue(new File("Database//Vehicles.json"), json);
并阅读<代码>。我正在使用的json文件:
VehicleRepository newRepository = mapper.readValue(new File("Database\\Vehicles.json"), VehicleRepository.class);
这是在上面的一行,错误发生。
这是我的车辆等级:
public class Vehicle {
private String id;
private String plate;
private String manufacturer;
private String model;
private String color;
public Vehicle() {}
public Vehicle(String plate, String manufacturer, String model, String color) {
this.id = UUID.randomUUID().toString();
this.plate = plate;
this.manufacturer = manufacturer;
this.model = model;
this.color = color;
}
public Vehicle(String id, String plate, String manufacturer, String model, String color) {
this.id = id;
this.plate = plate;
this.manufacturer = manufacturer;
this.model = model;
this.color = color;
}
public String getId() {
return id;
}
public String getPlate() {
return plate;
}
public void setPlate(String plate) {
this.plate = plate;
}
public String getManufacturer() {
return manufacturer;
}
public void setManufacturer(String manufacturer) {
this.manufacturer = manufacturer;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
这是我的车载存储课程:
public class VehicleRepository {
List<Vehicle> vehicles;
public VehicleRepository() {
}
public List<Vehicle> getVehicles() {
return vehicles;
}
public void setVehicles(List<Vehicle> vehicles) {
this.vehicles = vehicles;
}
}
有人能帮我吗?
代码中的问题是您首先将对象转换为String并将该String作为JSON写入文件。
您可以使用以下命令将对象写入文件:
write.writeValue(new File("Vehicles.json"), repository);
结果将是这个正确的json:
{"vehicles":[{"id":"9467d079-4502-4dba-9d23-b8506dfc7ef4","plate":"ghghghhg","manufacturer":"Alfa Romeo","model":"hgghgh","color":"Amarelo"}]}
这可以用您已有的代码完美地阅读:
VehicleRepository newRepository = mapper.readValue(new File("Vehicles.json"), VehicleRepository.class);
我有以下课 以及以下测试: 我收到以下错误: com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造com.store.domain.model.Cart实例(尽管至少存在一个Creator):无法从[Source:(String)"{"id":"56c7b5f7-115b-4cb9-9658-acb7b849d5d5"}"
在使用JSON库(如Jackson)反序列化时,如果JSON数据与目标类型不匹配,会抛出MismatchedInputException异常。 通过下面的代码可以复现问题。
我正在spring boot应用程序中使用。当我向我的endpoint发送请求时,我会收到以下异常: 我的控制器处理具有以下结构的请求体: 我需要的唯一属性是。我构造了一个类来处理这个对象,如下所示: 我设计了一个像这样的控制器 这个问题的有趣之处在于,如果我将更改为以下结构,我的请求就会得到很好的处理: 我似乎搞不清问题是什么。在这个问题上我很想得到一些帮助。也许有我缺失的注释?我希望其他人也经
我对Jackson有一个错误的理解,就是将json文件反序列化为poco。这是我的代码: 我的POCO命名为AnimalBean: }还有我的JSON文件: } 当我执行我的代码时,我有以下错误:未识别的字段“动物园”(类动画豆),未标记为可忽略的。我知道问题是我的json文件开始不直接由动物,但我不能改变它,因为它不是我的。我已经尝试把对象apper.configure(Deseriazatio
我对Jackson和类型层次结构有以下问题。我正在序列化一个类SubA,该类将扩展为一个字符串,然后尝试将其反序列化回来。当然,在编译时,系统不知道它是基还是SubA,因此我希望它是基,如果它是SubA,则会在编译后执行一些其他操作。 我的基本类看起来像: ...和一个派生自的类: ... 我试图执行以下代码: String是: 但我一次又一次地犯同样的错误。映射器现在知道如何处理另一个类参数-它