使用lift-json和play框架解析/提取json对象时出现问题

时间:2011-01-21 12:13:33

标签: json scala playframework lift

我想在Play框架中使用Lift-JSON(v2.2)将JSON文件解析为Scala案例类。我正在使用scala 2.8.1并使用scala pluging v0.8播放1.1。首先,我从https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/复制代码以将值提取到类中(Person类,“Extracting values”部分。当我浏览localhost以查看我收到的结果时

play.exceptions.JavaExecutionException: Parsed JSON values do not match with class constructor
args=
arg types=
constructor=public controllers.Person(java.lang.String,controllers.Address,scala.collection.immutable.List)
 at play.mvc.ActionInvoker.invoke(ActionInvoker.java:285)
 at Invocation.HTTP Request(Play!)
Caused by: net.liftweb.json.MappingException: Parsed JSON values do not match with class constructor
args=
arg types=
constructor=public controllers.Person(java.lang.String,controllers.Address,scala.collection.immutable.List)
 at net.liftweb.json.Meta$.fail(Meta.scala:128)
...

我想Play以某种方式在REPL模式下运行scala命令(这里讨论的问题:http://caffiendfrog.blogspot.com/2010/11/scala-json-lift-web-trouble-with.html)。感谢您使用play和lift-json解析/提取json对象的经验。

2 个答案:

答案 0 :(得分:1)

我从lift-json切换到https://github.com/codahale/jerkson,问题解决了。

答案 1 :(得分:1)

你应该看another discussion about this problem,似乎有解释:)