【发布时间】:2014-03-12 11:37:51
【问题描述】:
我试图在这里找到一些帮助来应用 DefaultJsonProtocol 的 JsonFormat 扩展 到一个包含对象序列的类。
所以对于课程:
class Person(val name: String, [......], val adresses: Seq[Adress])
class Adress(val streetname: String, val plz: BigDecimal, val city: String)
现在我想应用我的 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) = {...}
}
但实际上我不知道该怎么做。 我搜索了 spray-json 文档并通过 google、stackoverflow & Co. 我对 Scala/Spray 完全陌生,也许我只是错过了重点。所以,也许这里有人好心帮助我。没有地址序列我会工作。
使用示例中提供的 JsArray,我得到类型不匹配。它正在检查一个 List[JsValue] 但也与转换为列表不匹配仍然存在。
我还尝试插入一个单独的 AdressJsonProtocol 并通过以下方式包含它: "addresses" -> AdressJsonFormat.write(pers.adresses) 但它又是一个序列......
【问题讨论】:
标签: json scala spray spray-json