Я использую Gson для сериализации и десериализации объектов и сохранения результатов в Redis. т.е. объект сериализуется в строку json, а затем помещается в Redis, когда объект возвращается, это строка, тогда я использую Gson.fromjson (str, className) для десериализации в объект.Сериализация/десериализация объектов с помощью Gson в Scala
Я начинаю с Scala, поэтому предполагаю, что мое использование неверно.
У меня есть следующий класс:
case class Status(id: String, state: State)
, где государство является следующее:
sealed trait State {}
case object COMPLETED_SUCCESSFULLY extends State {}
case object FINISHED_POLLING extends State {}
case object CURRENTLY_DOWNLOADING extends State {}
case object FINISHED_DOWNLOADING extends State {}
case object CURRENTLY_UPLOADING extends State {}
case object FINISHED_UPLOADING extends State {}
Я хочу сериализации Status
в строку JSON затем десериализации его обратно в объект.
Но, когда я сериализации Status
с помощью Gson, я получаю:
"{\"id\":\"foo\",\"state\":{}}"
Почему?
Ex:
val Status = new Status("foo", COMPLETED_SUCCESSFULLY)
Я ожидаю сериализованные выход быть
"{\"id\":\"foo\",\"state\":\"COMPLETED_SUCCESSFULLY\"}"
Какой результат вы ожидаете? – ka4eli
@ ka4eli обновленный вопрос. Я просто хочу иметь возможность сериализации и десериализации с помощью gson. – iCodeLikeImDrunk