1

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

4

1 回答 1

2

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

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

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

于 2011-11-16T18:55:33.777 回答