小编Kli*_*ink的帖子

为一系列对象提供JsonFormat

我正在尝试找到一些帮助,将DefaultJsonProtocol的JsonFormat扩展应用于包含对象序列的类.

所以对于班级:

class Person(val name: String, [......], val adresses: Seq[Adress])
class Adress(val streetname: String, val plz: BigDecimal, val city: String)
Run Code Online (Sandbox Code Playgroud)

现在我想申请我的JsonFormat:

object PersonJsonProtocol extends DefaultJsonProtocol {
  implicit object PersonJsonFormat extends RootJsonFormat[Person] {
    def write(pers: Person) = JsObject(
    "name" -> JsString(pers.name),
    [......],
    "adresses" -> JsArray(pers.adresses)
)
def read(value: JsValue) = {...}
}
Run Code Online (Sandbox Code Playgroud)

但实际上我不知道该怎么做.我通过spray-json文档搜索并通过google,stackoverflow&Co.我是Scala/Spray的新手,也许我只是错过了重点.所以也许有人在这里帮助我.没有地址序列我会工作.

使用示例中提供的JsArray,我得到类型不匹配.它是一个明确的List [JsValue],但也转换为列表不匹配仍然存在.

我还试图插入一个单独的AdressJsonProtocol并通过以下方式包含它:"地址" - > AdressJsonFormat.write(pers.adresses)但又是一个序列...

json scala spray spray-json

4
推荐指数
1
解决办法
6344
查看次数

标签 统计

json ×1

scala ×1

spray ×1

spray-json ×1