Play2 Scala Json自定义格式组合器

时间:2015-11-02 14:21:45

标签: json scala playframework-2.0

我有以下型号:

case class Person(name: String, age: Int, job: Option[String])

object PersonJsonFormats {
    implicit val personFormat = Json.format[Person]
}

Person对象转换为Json(例如,使用Json.toJson(person))会生成以下Json对象。

{
    "name": "John",
    "age": 10,
    "job": "gardener"
}

为了生成像下面这样的对象,我应该更改什么?

[
    {
        "name": "name",
        "value" : "John"
    },
    {
        "name": "age",
        "value": 10
    },
    {
        "name": "job",
        "value": "gardener"
    }
]

我知道我可以编写自定义ReadsWrites,但我想写一些我可以应用于case class

的内容

1 个答案:

答案 0 :(得分:2)

如果您不想编写自定义的读取和写入,并希望能够应用于每个case class的内容,则可能应该使用宏来实现此目的。

如何构建original自动隐式转换器。

看的地方: