Play Framework 2.5 JSON 특성 직렬화

조산

다음과 같은 봉인 된 특성이 있습니다.

sealed trait MyMessages

object MyMessages {

  case object Init extends MyMessages
  case object Destroy extends MyMessages
  case class Tick(elem: Long) extends MyMessages
}

이제 이것을 JSON으로 /에서 직렬화 및 역 직렬화하기위한 포맷터를 작성해야합니다. 이것이 내가 생각 해낸 것입니다.

  implicit object MyMessagesWrites extends Writes[MyMessages] {
    def writes(myMessages: MyMessages): JsValue = myMessages match {
      case Init => Json.toJson("INIT")
      case Destroy => Json.toJson("DESTROY")
      case tick: Tick => Json.toJson(Tick)
    }

    def reads(json: JsValue): MyMessages = {
      // How do I get from JSValue to a MyMessages type???
    }
  }

쓰기를 구현하는 것은 쉽지만 읽기를 어떻게 구현합니까?

Mikesname

Tick인스턴스를 기본 JSON 번호로 직렬화한다고 가정하면 다음 과 같이 할 수 있습니다.

implicit object MyMessageReads extends Reads[MyMessages] {
  def reads(json: JsValue) = json match {
    case JsString("INIT") => JsSuccess(MyMessages.Init)
    case JsString("DESTROY") => JsSuccess(MyMessages.Destroy)
    case JsNumber(n) => JsSuccess(Tick(n.toLongExact))
    case e => JsError(s"Invalid message: $e")
  }
}

보다 기능적인 스타일을 사용하여 읽기 / 쓰기를 좀 더 간결하게 만들 수도 있습니다.

implicit val myMessagesWrites = Writes[MyMessages] {
  case Init => JsString("INIT")
  case Destroy => JsString("DESTROY")
  case Tick(n) => JsNumber(n)
}

implicit val myMessageReads = Reads[MyMessages] {
  case JsString("INIT") => JsSuccess(MyMessages.Init)
  case JsString("DESTROY") => JsSuccess(MyMessages.Destroy)
  case JsNumber(n) => JsSuccess(Tick(n.toLongExact))
  case e => JsError(s"Invalid message: $e")
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Play Framework Json 직렬화 실패

분류에서Dev

Scala (Play Framework)에서 객체를 JSON 기본 유형으로 직렬화

분류에서Dev

특성없는 C # JSON 직렬화 및 역 직렬화

분류에서Dev

Java Play Framework 1.2.x의 PHP 웹 서비스에서 직렬화 된 JSON을 구문 분석하는 방법

분류에서Dev

Play Framework serializer를 사용하여 Scala에서 확장 된 클래스를 JSON으로 직렬화

분류에서Dev

c #-특정 JSON의 역 직렬화

분류에서Dev

Play Json Reads 중첩 된 일반 직렬화 된 Json

분류에서Dev

자바 다형성 Json 역 직렬화

분류에서Dev

동적 JSON 속성 역 직렬화

분류에서Dev

JSON .NET 직렬화-속성 값 변경

분류에서Dev

JsonIgnoreProperties 특정 속성 직렬화 속성의 사용은 JSON 만 존재

분류에서Dev

Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

분류에서Dev

Entity Framework Core C #을 사용하여 JSON 역 직렬화

분류에서Dev

Configure QueryDSL on Play 2 Framework

분류에서Dev

.NET POCO의 JSON 직렬화 성능 최적화

분류에서Dev

C ++ JSON 직렬화

분류에서Dev

Jackson Json 직렬화

분류에서Dev

JSON 역 직렬화

분류에서Dev

Django Rest Framework 직렬화는 직렬화 된 관계의 NoneType 인스턴스를 생성합니다.

분류에서Dev

JSON 응답을 특정 클래스 개체로 역 직렬화

분류에서Dev

TypeError : JSON 직렬화 불가능 Py2neo 일괄 제출

분류에서Dev

Json.NET으로 Vector2 배열 직렬화

분류에서Dev

Scala Play Framework Json Serializer 오류

분류에서Dev

Play Framework에서 Reads [T]로 Json 유효성 검사

분류에서Dev

Play Framework Scala JSON 유효성 검사 예외

분류에서Dev

GSON 던지는 예외 다형성 JSON 직렬화를 해제

분류에서Dev

속성치 배열 자바 직렬화 인 JSON 배열

분류에서Dev

속성 이름에 $를 사용하여 JSON 역 직렬화

분류에서Dev

json.net 속성을 대문자로 역 직렬화

Related 관련 기사

  1. 1

    Play Framework Json 직렬화 실패

  2. 2

    Scala (Play Framework)에서 객체를 JSON 기본 유형으로 직렬화

  3. 3

    특성없는 C # JSON 직렬화 및 역 직렬화

  4. 4

    Java Play Framework 1.2.x의 PHP 웹 서비스에서 직렬화 된 JSON을 구문 분석하는 방법

  5. 5

    Play Framework serializer를 사용하여 Scala에서 확장 된 클래스를 JSON으로 직렬화

  6. 6

    c #-특정 JSON의 역 직렬화

  7. 7

    Play Json Reads 중첩 된 일반 직렬화 된 Json

  8. 8

    자바 다형성 Json 역 직렬화

  9. 9

    동적 JSON 속성 역 직렬화

  10. 10

    JSON .NET 직렬화-속성 값 변경

  11. 11

    JsonIgnoreProperties 특정 속성 직렬화 속성의 사용은 JSON 만 존재

  12. 12

    Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

  13. 13

    Entity Framework Core C #을 사용하여 JSON 역 직렬화

  14. 14

    Configure QueryDSL on Play 2 Framework

  15. 15

    .NET POCO의 JSON 직렬화 성능 최적화

  16. 16

    C ++ JSON 직렬화

  17. 17

    Jackson Json 직렬화

  18. 18

    JSON 역 직렬화

  19. 19

    Django Rest Framework 직렬화는 직렬화 된 관계의 NoneType 인스턴스를 생성합니다.

  20. 20

    JSON 응답을 특정 클래스 개체로 역 직렬화

  21. 21

    TypeError : JSON 직렬화 불가능 Py2neo 일괄 제출

  22. 22

    Json.NET으로 Vector2 배열 직렬화

  23. 23

    Scala Play Framework Json Serializer 오류

  24. 24

    Play Framework에서 Reads [T]로 Json 유효성 검사

  25. 25

    Play Framework Scala JSON 유효성 검사 예외

  26. 26

    GSON 던지는 예외 다형성 JSON 직렬화를 해제

  27. 27

    속성치 배열 자바 직렬화 인 JSON 배열

  28. 28

    속성 이름에 $를 사용하여 JSON 역 직렬화

  29. 29

    json.net 속성을 대문자로 역 직렬화

뜨겁다태그

보관