Если я хочу получить вход в базу данных сущности, я получаю правильный результат, но у этого результата есть разрывы строк, которых я не хочу. Я хочу вот что (jsonfile):
{
"id" : 20706,
"name" : "Ecole des Ponts ParisTech",
"institution_type" : {
"id" : 2,
"name" : "Research facility"
},
Но я получаю вот что:
{"institution":["{\r\n \"id\" : 20706,\r\n \"name\" : \"Ecole des Ponts ParisTech\",\r\n \"institution_type\" : {\r\n \"id\" : 2,\r\n \"name\" : \"Research facility\"\r\n },
Мой код для получения:
ObjectMapper objectMapper = ObjectMapperFactory.getObjectMapper();
EditorialDAO dao = EditorialManager.dao();
String valueValue = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(dao.get(Institution.class,20706));
Да, я хочу строку, но не с переводом строки и \ для моего ".
Мой ObjectMapper объявлен следующим образом:
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(Include.NON_NULL);
objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
objectMapper.disable(SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS);
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
objectMapper.configure(SerializationFeature.EAGER_SERIALIZER_FETCH, true);
objectMapper.configure(SerializationFeature.INDENT_OUTPUT, true);
РЕДАКТИРОВАТЬ: следующий код после получения valueValue:
String response = objectMapper.writeValueAsString(dao.get(Basic.class, 323));
JSONObject jsonObject = new JSONObject(response);
jsonObject.put(institution, valueValue);
response = jsonObject.toString();
dao.merge(objectMapper.readValue(response, Basic.class));
Если я пытаюсь объединиться, я получаю эту ошибку:
com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of Institution: no String-argument constructor/factory method to deserialize from String value();
Чего я не получаю: я просто помещаю этот входной сигнал из базы данных точно в мой JSON и мой Basi c. Класс Entity имеет тип Institution.
@Entity
@JsonInclude(Include.NON_EMPTY)
public class Basis implements{
@Id
@SortableField
@SequenceGenerator(name = "basis_generator", sequenceName = "basis_id_basis_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "basis_generator")
@Column(name="id_basis")
@JsonView(View.Minimal.class)
private int id;
@ManyToOne
@NotFound(action=NotFoundAction.IGNORE)
@JsonView(View.Minimal.class)
@JoinColumn(name="id_institution")
private Institution institution;