将scala case类转换为json

时间:2016-04-06 15:42:43

标签: json scala spray

我需要将scala case类转换为json。我正在使用喷雾json。 问题是我的case类有超过22个字段,而喷json只支持22个字段。

我写得不像

implicit val someformat = jsonformat25(Somecaseclass)

case class Color(name: String, red: Int, green: Int, blue: Int)

object MyJsonProtocol extends DefaultJsonProtocol {
  implicit val colorFormat = jsonFormat4(Color)
}

import MyJsonProtocol._
import spray.json._

val json = Color("CadetBlue", 95, 158, 160).toJson
val color = json.convertTo[Color]

我看到有并尝试过它,但它没有用。请提出一些解决方案。

implicit object format extends RootJsonFormat[SomeObject] {
    def write(a: SomeObject) = a match {
      case p: SomeObject=> p.toJson
    }
    def read(value: JsValue) = {
      value.convertTo[SomeObject]
    }
  }

请不要建议拆分类params并制作嵌套的case类..我的要求是我在一个案例类中有超过22个字段。

1 个答案:

答案 0 :(得分:-1)

您可以使用-https://github.com/sitetester/json-handler

  • 易于使用,并支持使用适当的缩进将嵌套的case类转换为JSON。