如何在Play项目中解析JSON请求

skb

我正在用Scala + Play构建一个简单的Web服务器。我在弄清楚如何接受JSON请求并将其反序列化为预定义类型的对象时遇到了麻烦。我需要帮助:1)下载一个受支持的JSON包,2)在我的代码中导入该包以解析HTTP请求,以及3)实际解析一些JSON。

这是我要放入#1的SBT文件中的内容:

libraryDependencies += "org.json4s" %% "json4s-native" % "3.2.9"

这是我尝试将其导入#2的方法:

import org.json4s._
import org.json4s.native.JsonMethods._

在这里,我尝试在操作中解析一些JSON:

package controllers

import play.api._
import play.api.mvc._
import play.api.libs.json.Json
import org.json4s._
import org.json4s.native.JsonMethods._

object Application extends Controller {
  case class Credentials(username: String, password: String)

  def login = Action { request =>
      Ok(Json.obj("message" -> "You tried to log in as: " + parse(request.body).extract[Credentials].username))
  }
}

谁能告诉我我做错了什么?我在运行时收到一条错误消息,内容为:“ play.PlayExceptions $ CompilationException:编译错误[controllers.Application.parse.type不带参数]”

迈克尔·扎亚克(Michael Zajac)

您正遭受名称空间污染的困扰。您的Application控制器parseplay.api.mvc.Controller特征继承一个对象,并在名称空间中import org.json4s.native.JsonMethods._包含它自己对象parse我很惊讶这甚至编译。使它更明确将起作用。从导入中删除通配符,然后显式调用JsonMethods.parse

正如评论所暗示的那样,这实际上是不必要的。Play内置的json库运行良好,因此我还建议您阅读并使用它们。还有许多其他与Play JSON相关的SO帖子。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在我的Play / Scala项目中为swagger的@ApiOperation指定json响应

来自分类Dev

如何在我的Play / Scala项目中为swagger的@ApiOperation指定json响应

来自分类Dev

如何在正常的sbt项目中使用play ws库而不是play?

来自分类Dev

我的项目中的Json解析错误

来自分类Dev

如何在XCode的项目中删除项目?

来自分类Dev

如何在Scala / Play 2.2项目中使用OrientDB?

来自分类Dev

如何在没有分块响应的纯Java项目中的Play框架中发送InputStream?

来自分类Dev

Android Eclipse-如何在项目中仅包含Google Maps,而不是整个Play Services?

来自分类Dev

如何在 Play SBT 项目中使用 finder-generator

来自分类Dev

使用Maven时如何在Play框架项目中注入WSClient?

来自分类Dev

如何在.NET Web API项目中存储全局按请求数据

来自分类Dev

如何在.NET Web API项目中存储全局按请求数据

来自分类Dev

如何在Web API项目中记录在依赖项解析期间引发的异常?

来自分类Dev

如何在新的Eclipse CDT项目中更改默认错误解析器的列表

来自分类Dev

如何在Swift项目中使用(安装)Swift CSV解析器

来自分类Dev

如何在Scala Play中使用可变键解析JSON?

来自分类Dev

如何在Play Framework中解析Solr Json?

来自分类Dev

如何在Java Spark中解析JSON请求

来自分类Dev

如何在MVC5项目中将Json.NET用于JSON模型绑定?

来自分类Dev

如何在Maven项目中更改源

来自分类Dev

如何在WebForms项目中启用MVC?

来自分类Dev

如何在Laravel项目中安装PHPunit

来自分类Dev

如何在SBT项目中添加示例?

来自分类Dev

如何在可可项目中包含<cstring>

来自分类Dev

如何在gradle项目中添加JAR?

来自分类Dev

如何在SWT项目中显示BufferedImages?

来自分类Dev

如何在QComboBox项目中显示上标?

来自分类Dev

如何在开源项目中处理凭据

来自分类Dev

如何在我的项目中添加梨

Related 相关文章

  1. 1

    如何在我的Play / Scala项目中为swagger的@ApiOperation指定json响应

  2. 2

    如何在我的Play / Scala项目中为swagger的@ApiOperation指定json响应

  3. 3

    如何在正常的sbt项目中使用play ws库而不是play?

  4. 4

    我的项目中的Json解析错误

  5. 5

    如何在XCode的项目中删除项目?

  6. 6

    如何在Scala / Play 2.2项目中使用OrientDB?

  7. 7

    如何在没有分块响应的纯Java项目中的Play框架中发送InputStream?

  8. 8

    Android Eclipse-如何在项目中仅包含Google Maps,而不是整个Play Services?

  9. 9

    如何在 Play SBT 项目中使用 finder-generator

  10. 10

    使用Maven时如何在Play框架项目中注入WSClient?

  11. 11

    如何在.NET Web API项目中存储全局按请求数据

  12. 12

    如何在.NET Web API项目中存储全局按请求数据

  13. 13

    如何在Web API项目中记录在依赖项解析期间引发的异常?

  14. 14

    如何在新的Eclipse CDT项目中更改默认错误解析器的列表

  15. 15

    如何在Swift项目中使用(安装)Swift CSV解析器

  16. 16

    如何在Scala Play中使用可变键解析JSON?

  17. 17

    如何在Play Framework中解析Solr Json?

  18. 18

    如何在Java Spark中解析JSON请求

  19. 19

    如何在MVC5项目中将Json.NET用于JSON模型绑定?

  20. 20

    如何在Maven项目中更改源

  21. 21

    如何在WebForms项目中启用MVC?

  22. 22

    如何在Laravel项目中安装PHPunit

  23. 23

    如何在SBT项目中添加示例?

  24. 24

    如何在可可项目中包含<cstring>

  25. 25

    如何在gradle项目中添加JAR?

  26. 26

    如何在SWT项目中显示BufferedImages?

  27. 27

    如何在QComboBox项目中显示上标?

  28. 28

    如何在开源项目中处理凭据

  29. 29

    如何在我的项目中添加梨

热门标签

归档