杰克逊使用特殊字符写入文件

时间:2019-06-03 20:23:06

标签: java json jackson

我想将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 个答案:

答案 0 :(得分:1)

\r\n使其变得可读(换行符),这就是您在字符串中看到的内容,如果在写入文件时禁用漂亮打印,它将不会显示那些字符。

相关问题