Jackson JSONデシリアライゼーション:各行の配列要素 質問する

Jackson JSONデシリアライゼーション:各行の配列要素 質問する

使っていますジャクソン次のように、配列内の各要素が各行に配置されるように JSON をきれいに印刷したいと考えています。

{
  "foo" : "バー",
  「何とか」:[
    1、
    2、
    3
  ]
}

true に設定するとSerializationFeature.INDENT_OUTPUT、配列要素ではなくオブジェクト フィールドにのみ改行文字が挿入され、代わりに次のようにオブジェクトが出力されます。

{
  "foo" : "バー",
  「何とか」:[1, 2, 3]
}

これを実現する方法を誰か知っていますか? ありがとう!

ベストアンサー1

拡張したくない場合は、プロパティを外部で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);

おすすめ記事