extract
.
import org.json4s._
import org.json4s.jackson.JsonMethods._
implicit val formats = DefaultFormats
case class Item(name: String, price: Double)
val json = parse("""{"name": "phone", "price": 1000.0}""") // JObject(List((name,JString(phone)), (price,JDouble(1000.0))))
val item = json.extract[Item] // Item(phone,1000.0)
但是,要将case类转换为JsonAST对象,我唯一能想到的方法是:
-
使用序列化case类
write
-
使用反序列化字符串
提取
如下所示:
parse(write(item)) // JObject(List((name,JString(phone)), (price,JDouble(1000.0))))
有没有更好的转换方法?谢谢您!