【发布时间】:2014-03-10 04:43:10
【问题描述】:
我正在为我的 Java 类创建 Reads 和 Writes 以使用 Play Framework 的 JSON 库。
我的一个类有一个abstract类字段。
ConcreteObj.java
public class ConcreteObj {
private AbstractObj someField;
public ConcreteObj(AbstractObj someField) {
this.someField = someField;
}
public AbstractObj getSomeField() { return this.someField };
...
读写
implicit val ConcreteObjReads: Reads[ConcreteObj] =
(JsPath \ "someField").read[AbstractObj].map{x: AbstractObj => new ConcreteObj(x)}
implicit val ConcreteObjWrites: Writes[ConcreteObj] =
(JsPath \ "someField").write[AbstractObj].contramap{x: ConcreteObj => x.getField}
但是下一步,创建Reads[AbstractObj],对我来说没有意义,因为无法实例化抽象类。
我想Writes[AbstractObj] 看起来像:
implicit val AbstractObjWrites: Writes[AbstractObj] =
(JsPath \ "otherField").write[String].contramap{x: AbstractObj => x.getOtherField}
但是Reads[AbstractObj] 呢?
【问题讨论】:
-
这对我来说也没有意义......
-
意思是我的问题?或答案? :)
标签: java json scala playframework