我正在使用lift-json从POST请求中反序列化简单对象。例如:
{"id": "35", "name": "My topic", "slug": "my-slug", "imageUrl": "http://foo.bar/image.png"}
类定义:
class Topic(var id: Option[Long], var name: String, val slug: String, val imageUrl: String)
然后我用
read[Topic](jsonString)
是否可以让json-lift自动将ID读取为Long?
答案 0 :(得分:2)
您可以通过转换JSON来实现。
val json = parse("""{"id": "35", "name": "My topic", ...}""")
json transform { case JField("id", JString(s)) => JField("id", JInt(s.toInt)) }
然后从已转换的JSON中提取案例类。