我有许多使用 play-json 库定义json Read
//的案例类。这种定义的典型示例是使用宏完成的Write
Format
case class Payload(
file: FilePayLoad,
comment: String
)
object Payload {
implicit val format: Format[Payload] = Json.format[Payload]
}
使用库 api 编写更具体的格式或其他任何内容都没有问题。
是否有可能对OReads
隐式定义进行反射或类型分析?我现在对类型级编程知之甚少,关于隐含的内容已经足够多,可以检索宏扩展生成的隐含,但我正在开发一个可自我发现的 REST api,我需要为给定的有效负载案例类打印出预期的 JSON 格式
有什么方法可以反转 play-json 读取定义以打印类似这样的内容
"format": {
"/payload": {
"/file": {
"type": "FilePayLoad"
"format": {
"/name": {
"type": "String",
"optional": false
},
"/mimeType": {
"type": "String",
"optional": false
},
"/filesize": {
"type": "Double",
"optional": false
},
},
},
"/comment": {
"type": String,
"optional": false
}
}
}