有没有办法让lift-json自动将数字字符串字段转换为数字类型?

时间:2011-11-16 17:52:19

标签: json scala lift-json

我正在使用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?

1 个答案:

答案 0 :(得分:2)

您可以通过转换JSON来实现。

val json = parse("""{"id": "35", "name": "My topic", ...}""")
json transform { case JField("id", JString(s)) => JField("id", JInt(s.toInt)) }

然后从已转换的JSON中提取案例类。