java - 使用 Jackson 库自定义 pretty-print

标签 java json jackson pretty-print

我在 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/

相关文章:

java - 多部分文件到文件 InputStream

javascript - 有没有用空格将 JSON 字符串化的函数?

java - 将 HashMap 序列化为 JSON 字符串,同时避免 Java 中的某些字段

java - 在java中将字符串列表/集合转换为json对象

Java:Jackson 数据绑定(bind)无法从 JSON 文件映射整个类

java - BigDecimal 使用带前导零的整数文字初始化

java - @Transactional 不打开 Hibernate 事务

java - 如何在java中重置数据库表中的id?

javascript - 如何: JSON image URL display as actual image

javascript - 如何使用 jQuery 将 2 个 td 合并到一个 td 中?