java - jackson JSON 反序列化 : array elements in each line

标签 java json jackson deserialization

我正在使用 Jackson并希望漂亮地打印 JSON,以便数组中的每个元素都进入每一行,例如:

{
  "foo" : "bar",
  "blah" : [
    1,
    2,
    3
  ]
}

设置 SerializationFeature.INDENT_OUTPUT true 只为对象字段插入换行符,而不是数组元素,而是以这种方式打印对象:

{
  "foo" : "bar",
  "blah" : [1, 2, 3]
}

有人知道怎么实现吗?谢谢!

最佳答案

如果您不想扩展 DefaultPrettyPrinter,您也可以在外部设置 indentArraysWith 属性:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.enable(SerializationFeature.INDENT_OUTPUT);

DefaultPrettyPrinter prettyPrinter = new DefaultPrettyPrinter();
prettyPrinter.indentArraysWith(DefaultIndenter.SYSTEM_LINEFEED_INSTANCE);

String json = objectMapper.writer(prettyPrinter).writeValueAsString(object);

关于java - jackson JSON 反序列化 : array elements in each line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14938667/

相关文章:

java - 使用 Hibernate 性能优化在 startIPNum 和 endIPNum 范围内查找 IP 号码

java - `ArrayList::get` 是线程安全的吗?

java - Jackson:用一个数组字段序列化/反序列化对象

java - Jackson 将对象字段误认为是 JsonTypeInfo.Id.NAME

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

Java - 通用数组的ArrayList

python - 从python中的字典列表中提取元素

java - 将列表序列化为 JSON 数组

java - 导航到特定的 JSON 节点并使用 ObjectMapper

java - 如何让gradle javadoc plugin honor lombok处理?