Ребят, не проходит тест из мейника выкидывает
Exception in thread "main" com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `Solution$Cat` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (FileReader); line: 1, column: 2]
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:67)
at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1611)
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400)
at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1077)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1320)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:331)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4482)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3447)
at Solution.convertFromJsonToNormal(Solution.java:27)
at Solution.main(Solution.java:36)
public class Solution {
public static <T> T convertFromJsonToNormal(String fileName, Class<T> clazz) throws IOException {
FileReader fileReader = new FileReader(fileName);
ObjectMapper objectMapper = new ObjectMapper();
T obj = objectMapper.readValue(fileReader, clazz);
return obj;
}
public static void main(String[] args) throws IOException {
FileWriter fileWriter = new FileWriter("1");
ObjectMapper objectMapper = new ObjectMapper();
Cat cat = new Cat("Zosya",6);
objectMapper.writeValue(fileWriter,cat);
Cat newCat = (Cat) convertFromJsonToNormal("1", Cat.class);
newCat.toString();
}
@JsonAutoDetect
public static class Cat {
@JsonProperty ("wildAnimal")
public String name;
@JsonIgnore
public int age;
@JsonProperty ("over")
public int weight;
Cat(String name, int weight) {
this.name = name;
this.weight = weight;
}
@Override
public String toString() {
return "Cat{" +
"name='" + name + '\'' +
", age=" + age +
", weight=" + weight +
'}';
}
}
}