Задача - создать правильное представление строки Json. Есть карта, которая может содержать значение этой строки Json. Во время записи этой карты в string mapper экранируйте новую строку и цитируйте Json.
private String getJson() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = new HashMap<>();
map.put("key1", "val1");
map.put("key2", "val2");
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
}
возврат:
{
"key1" : "val1",
"key2" : "val2"
}
Код
public String test() throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper();
Map<String, String> map = new HashMap<>();
map.put("information", getJson());
String result = mapper.writeValueAsString(map);
System.out.println(result);
return result;
}
возвращение
{"information":"{\r\n \"key1\" : \"val1\",\r\n \"key2\" : \"val2\"\r\n}"}
Но возможно ли, чтобы метод test () возвращал строку типа:
{
"information": {
"key1": "val1",
"key2": "val2"
}
}
Спасибо