Преобразовать JSON в объект
Ко мне приходит JSON файл:
{
"id":123,
"date":1586763078,
"params":{
"A":"0",
"B":"1",
"C":"2",
"D":"3",
}
}
Сохраняю его в виде объекта следующим способом:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
MyObject jsonObj = mapper.readValue(result, MyObject.class);
Класс MyObject:
@Entity
@Getter
@Setter
public class MyObject{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private long id;
private Timestamp date;
@OneToMany(mappedBy = "myobject", cascade = CascadeType.ALL)
private List<Param> params;
}
Класс Param:
@Entity
@Getter
@Setter
public class Param{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
private double count;
@ManyToOne
@JoinColumn
private MyObject myObject;
}
Во время преобразования выходит ошибка "Unrecognized field "A"". Насколько я понял jackson хочет, что бы я определил поле "А" в классе "Param", но мне это не нужно. Я хочу, что бы в объекте класса MyObject хранился массив объектов Param у которого всего 2 поля (имя и значение). Таких параметров может быть много. Как настроить jackson, что бы он воспринимал параметр "А" не как отдельное поле, а как строку для класса Param ?