このコードスニペットは非常にうまく機能しますが、コンパクトな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()メソッドのソースコードを見ていて、基本的にはあなたが提案したものと全く同じです。 '輸入org.json4s._' '輸入org.json4s.jackson.JsonMethods._' 'ヴァルjsonString = "" '輸入com.fasterxml.jackson.databind.ObjectMapper': – arosca
はここに私のテストコードです"{" 価格 ":10.8}" "" '' ヴァルJSON =パース(jsonString) ' 'ヴァルマッパー=新しいObjectMapper() '' mapper.writeValueAsString(JSON)は、//これは 'valのライターをworks' = mapper.writerWithDefaultPrettyPrinter()//例外をスローする ' ' val prettyJsonString = writer.writeValueAsString(json) ' – arosca