自定义漂亮的打印机使用杰克逊图书馆



我在Map对象中有数据,我想以json格式打印它。我尝试使用DefaultPrettyPrinter

mapper.writerWithDefaultPrettyPrinter().writeValue(filePath, mapObject);

但格式不是我所期望的。我得到的输出是这样的:

{
  "arrVals" : ["value-1","value-2"]
}

我想要这样的输出:

{
  "arrVals" : [
    "value-1",
    "value-2"
  ]
}

数组值之前需要缩进。您可以使用indentArraysWith方法来设置Lf2SpacesIdenter对象,该对象基本上会添加一个换行符,后面跟着2个空格。这可能会解决你的问题。

DefaultPrettyPrinter pp = new DefaultPrettyPrinter();
pp.indentArraysWith(new Lf2SpacesIndenter());
mapper.writer(pp).writeValue(filePath, mapObject);

最新更新