簡體   English   中英

封送akka-http

[英]Marshaling akka-http

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格式器。 我想刪除讀取方法。

trait RootJsonFormat[T] extends JsonFormat[T] with RootJsonReader[T] with RootJsonWriter[T]

如您所見,這就是擴展JsonFormat的RootJsonFormat的層次結構。 使用RootJsonReader以及RootJsonWriter。 如果您只想使用JsonWriter。 然后使用RootJsonWriter擴展您的類。

在這種情況下,您將RootJsonFormat與類一起使用,則必須使用define write和read方法。

class Converter extends 
RootJsonWriter[TypeToConvert]
{
def write(obj : TypeToConvert) : JsValue =
{
    obj match
    {
        case Https => JsString(Https.name)
        case Sms => JsString(Sms.name)
    }
}   
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM