12

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

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

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

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

我想要这样的输出:

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

1 回答 1

21

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

DefaultPrettyPrinter pp = new DefaultPrettyPrinter();
pp.indentArraysWith(new Lf2SpacesIndenter());
mapper.writer(pp).writeValue(filePath, mapObject);
于 2013-08-07T08:48:19.267 回答