2
這段代碼工作得很好,但它生成緊湊的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)))
我試過這種方法,但我發現了異常: 'java.lang.ClassCastException:com.fasterxml.jackson.databind.ObjectWriter不能轉換到scala.runtime.Nothing $' 待辦事項你知道爲什麼? 這很奇怪,因爲我查看了pretty()方法的源代碼,它基本上完全符合您的建議。 – arosca
這裏是我的測試代碼: '進口com.fasterxml.jackson.databind.ObjectMapper' '進口org.json4s._' '進口org.json4s.jackson.JsonMethods._' 'VAL jsonString = 「」 「{」 價格 「:10.8}」 「」'' VAL JSON =解析(jsonString)' 'VAL映射器=新ObjectMapper()'' mapper.writeValueAsString(JSON)//這works' 'VAL作家= mapper.writerWithDefaultPrettyPrinter()//拋出異常' 'val prettyJsonString = writer.writeValueAsString(json)' – arosca