【问题标题】:Custom pretty printer using Jackson library使用 Jackson 库自定义漂亮的打印机
【发布时间】:2013-08-08 13:00:24
【问题描述】:

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

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

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

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

我想要这样的输出:

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

【问题讨论】:

标签: java json jackson pretty-print


【解决方案1】:

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

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

【讨论】:

  • Lf2SpacesIndenter 在 DefaultPrettyPrinter.Lf2SpacesIndenter 构造函数和实例字段已弃用。使用:pp.indentArraysWith(DefaultIndenter.SYSTEM_LINEFEED_INSTANCE);
猜你喜欢
  • 2014-05-21
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多