Как мне сгенерировать симпатичный 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
объект, из которого вы можете получить довольно отформатированную строку.