如何将具有从 HTTP 请求收到的天数的 Json 解析为 Scala 和 Play 框架中的列表

猜85

我是 Scala 和 Play 框架的新手。我有一个这样的 Json:

{
   "monday" : [],
   "tuesday" : [
       {
          "type" : "xyz",
          "value" : 1111
       },
       {
          "type" : "abc",
          "value" : 2222
       }
   ],
   .....
}

我正在尝试在列表或地图中读取此 Json,其中包含每个条目的类型/值列表。我已经定义了一个读取 HTTP 请求正文的方法

def readJson() = Action { implicit request =>
      val body = request.body
      val jsonObject = body.asJson
}

我不明白如何继续,我已经阅读了 Play Framework 文档,但我有点迷茫。任何人都可以帮忙吗?谢谢!

约翰

你可以按照这个

import play.api.libs.json._

final case class Task(
    `type`: String,
    value: Int
)
final case class Days(
    monday: List[Task],
    tuesday: List[Task]
)


implicit val ts = Json.format[Task]
implicit val da = Json.format[Days]


def readJson() = Action { implicit request =>
      
      val days:Option[Days] = request.body.asJson.getOrElse(Json.obj()).asOpt[Days]
  // .....
}

或者不是将 json 映射到 Case 类,您可以使用 jsPath 参见https://www.playframework.com/documentation/2.8.x/ScalaJsonCombinators

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Scala / Play:将JSON解析为Map而不是JsObject

如何将JSON请求解析为FlightOfferSearch []对象?

如何使用Go从一个HTTP请求中解析文件和JSON数据?

将HTTP请求重定向到Google App Engine和Play框架上的HTTPS

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

在Scala中解析和操作json

如何在Scala中解析Play框架2.2中的JSON列表或数组

如果Play / Scala JSON解析中的语句?

Json使用scala / play进行解析:如何获得特征?

如何在Play Framework(Scala)中发送HTTP 2.0请求

Scala / Play:如何将异步数据库调用的JSON结果写入http Ok

在Angular中,如何解析和提取具有复杂结构(JSON)的HTTP响应?

在scala / play中解析“ stringified” JSON

如何将JSON字符串解析为Spark Scala中的不同列?

Scala Play HTTP和gRPC

我如何将具有混合类型值的json通过scala和json spray转换为json

如何将Stdout解析为CSV和JSON的混合?

如何将Http请求中的JSON数据发送到JSON解析中的POST方法

如何在Play Scala中正确验证和转换JSON?

如何在Play框架2.4.6中拦截和更改Scala Akka中的异常

使用Scala和Play框架与正文发送POST请求

无法在Play Scala中将带有Enum的Map解析为Json

scala play框架json转换

将 HTTP 请求的 JSON 格式结果解析为列

在熊猫中如何将具有许多属性和值的列解析为新列并获取它们的值

如何将bash脚本中的json解析为数组?数组值应该同时具有 key:value 格式

将 JSON 解析为 Dart 中的列表

如何在scala play框架中解析json数组?

如何将 Scala Dateframe 中的表和常量数据格式化和输出为 JSON 对象