Как мне сгенерировать симпатичный JSON с помощью json4s?

Этот фрагмент кода работает очень хорошо, но он генерирует компактный JSON (без разрывов строк / не очень удобочитаемый).

import org.json4s.native.Serialization.write
implicit val jsonFormats = DefaultFormats

//snapshotList is a case class
val jsonString: String = write(snapshotList)

Есть ли простой способ создать симпатичный JSON из этого?

У меня есть этот обходной путь, но мне интересно, существует ли более эффективный способ:

import org.json4s.jackson.JsonMethods._
val prettyJsonString = pretty(render(parse(jsonString)))

2 ответа

Решение
import org.json4s.native.Serialization.writePretty

val jsonString: String = writePretty(snapshotList)

Вы можете использовать ObjectMapper writerWithDefaultPrettyPrinter функция:

ObjectMapper mapper = new ObjectMapper();
val pretty = mapper.writerWithDefaultPrettyPrinter()
                   .writeValueAsString(jsonString));

Это возвращает ObjectWriter объект, из которого вы можете получить довольно отформатированную строку.

Другие вопросы по тегам