我试图使用Jerkson在一个接受泛型类型的方法中生成枚举的Json表示--但它看起来很奇怪。
object WeekDay extends Enumeration {
type WeekDay = Value
val Mon, Tue, Wed, Thu, Fri, Sat, Sun = Value
}
trait Letter
case object A extends Letter
case object B extends Letter
case object C extends Letter
object Test extends App {
import com.codahale.jerkson.Json._
import WeekDay._
def printWeekDay(weekday: WeekDay) {println("weekday: " + generate(weekday))}
printWeekDay(Mon)
def printLetter(letter: Letter) {println("letter: " + generate(letter))}
printLetter(A)
}运行此命令时,我得到以下结果:
weekday: {"$outer":{"ValueSet$module":null},"scala$Enumeration$Val$$i":0}
letter: {}关于如何在Json中获得正确的值,有什么想法吗?
发布于 2012-05-10 06:23:11
您可能需要在枚举和jerkson.Json.JsValue之间进行隐式转换。
playframework使用这种方法
http://www.playframework.org/documentation/api/2.0/scala/index.html#play.api.libs.json.Writes
https://stackoverflow.com/questions/10517861
复制相似问题