我在 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);
关于java - 使用 Jackson 库自定义 pretty-print ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18098513/