【发布时间】:2018-02-27 05:16:08
【问题描述】:
我正在使用 spray json 库在 scala 中进行 json 格式设置。我按照指令here 构建了一个自定义类型的jsonformatter,如下所示:
class Listing(val attr1:String,
val attr2:String,
...
val attr35:String)
object MyJsonProtocol extends DefaultJsonProtocol {
implicit object ListingJsonFormat extends RootJsonFormat[Listing] {
def write(l: Listing) =
JsArray(
JsString(l.attr1),
JsString(l.attr2),
...
JsString(l.attr35))
def read(value: JsValue) = value match {
case JsArray(Vector(
JsString(attr1),
JsString(attr2),
...
JsString(attr35))) =>
new Listing(attr1, attr2, attr3, ..., attr35)
case _ => deserializationError("Listing expected")
}
}
}
import MyJsonProtocol._
val json = Listing("red","dress","polka dot", ..., "clothing").toJson
val listing = json.convertTo[Listing]
但是,我收到此错误:
error: too many arguments for unapply pattern, maximum = 22
有没有办法解析和格式化超过 22 个 json 属性?
【问题讨论】:
-
你有固定大小属性列表
35的Json吗?你的意见是什么?
标签: json scala parsing spray-json