class Converter extends
RootJsonFormat[TypeToConvert]
{
def write(obj : TypeToConvert) : JsValue =
{
obj match
{
case Https => JsString(Https.name)
case Sms => JsString(Sms.name)
}
}
def read(jsValue : JsValue) : TypeToConvert =
{
jsValue match
{
case JsString("HTTPS") => Https
case JsString("SMS") => Sms
case _ => throw
DeserializationException("Expected a TypeToConvert
Type")
}
}
}我已经写了一个这样的转换器,在这里我只使用了write方法。有没有办法只用write方法来编写json格式化器?我想移除read方法。
发布于 2018-08-13 16:02:51
trait RootJsonFormat[T] extends JsonFormat[T] with RootJsonReader[T] with RootJsonWriter[T]它既使用RootJsonWriter,也使用RootJsonReader。如果您只想使用JsonWriter。然后用RootJsonWriter扩展你的类。
在类中使用RootJsonFormat,在这种情况下,您必须使用定义的写和读方法。
class Converter extends
RootJsonWriter[TypeToConvert]
{
def write(obj : TypeToConvert) : JsValue =
{
obj match
{
case Https => JsString(Https.name)
case Sms => JsString(Sms.name)
}
}
}https://stackoverflow.com/questions/51817436
复制相似问题