【发布时间】:2015-08-10 19:59:37
【问题描述】:
我正在使用 Gson 对对象进行序列化和反序列化,并将结果保存在 Redis 中。即对象被序列化为json字符串然后放入Redis中,当对象被检索时,它是字符串然后我使用Gson.fromjson(str,className)反序列化为对象。
我是 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字符串,然后反序列化成一个对象。
但是,当我使用 Gson 序列化 Status 时,我得到:
"{\"id\":\"foo\",\"state\":{}}"
这是为什么呢?
例如:
val Status = new Status("foo", COMPLETED_SUCCESSFULLY)
我希望序列化的输出是
"{\"id\":\"foo\",\"state\":\"COMPLETED_SUCCESSFULLY\"}"
【问题讨论】:
-
你期望什么输出?
-
@ka4eli 更新了问题。我只是希望能够使用 gson 进行序列化和反序列化。