Проблема с использованием lift-json и play-фреймворка для разбора / извлечения json-объектов - PullRequest
1 голос
/ 21 января 2011

Я хотел бы использовать Lift-JSON (v2.2) с платформой Play для анализа файла JSON в классах случаев Scala. Я использую scala 2.8.1 и играю 1.1 с включением scala v0.8. Для начала я скопировал код из https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/ для извлечения значения в классы (класс Person, раздел «Извлечение значений». Когда я захожу на 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 каким-то образом запускает команды scala в режиме REPL (проблема обсуждается здесь: http://caffiendfrog.blogspot.com/2010/11/scala-json-lift-web-trouble-with.html). Я ценю ваш опыт использования play и lift-json для анализа / извлечения объектов json.

Ответы [ 2 ]

1 голос
/ 20 марта 2011

Вы должны посмотреть еще одно обсуждение этой проблемы , кажется, это объяснено:)

1 голос
/ 27 февраля 2011

Я переключился с lift-json на https://github.com/codahale/jerkson, проблема решена.

...