Джексон записывает в файл специальные символы - PullRequest
0 голосов
/ 03 июня 2019

Я хочу сериализовать мои MoneyOperation объекты в формат json. Мне удалось записать все данные, которые мне нужны, во внешний файл, но вывод полон специальных символов \r\n , \, и я не хочу, чтобы они были в моем файле. Также я использовал DefaultPrettyPrinter на ObjectWriter, чтобы сделать мои сериализованные данные читаемыми.

Сначала я пишу значение следующим образом:

getMapper().writerWithDefaultPrettyPrinter().writeValueAsString(obj);

Затем я создаю sysout, вывод:

{
  "monetaryAmount" : "CHF 90000",
  "description" : " bougth transport car",
  "date" : "2018-05-12",
  "type" : {
    "type" : "OUTCOME",
    "source" : "BILL"
  }
}

Тогда я просто звоню:

writer.writeValue(file, jsonObjectsToSave);

Но при записи в файл я получаю:

"{\r\n  \"monetaryAmount\" : \"CHF 90000\",\r\n  \"description\" : \" bougth transport car\",\r\n  \"date\" : \"2018-05-12\",\r\n  \"type\" : {\r\n    \"type\" : \"OUTCOME\",\r\n    \"source\" : \"BILL\"\r\n  }\r\n}"

Как мне исправить этот вывод?

1 Ответ

1 голос
/ 03 июня 2019

\r\n - это то, что делает его читаемым (новые строки), что вы видите в своей строке: если вы отключите красивую печать при записи в файл, эти символы не будут отображаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...