【问题标题】:Get content from anyContent as Json从 anyContent 获取内容为 Json
【发布时间】:2016-05-20 10:23:05
【问题描述】:

我有带有 AnyContent 字段的案例类。我从数据库中得到它

AnyContentAsText( //some value)

比我在 JSON 中得到它时像文本

Json.obj("body"->content.asText)

返回

[{"body":"AnyContentAsJson({\"ma\":\"some@email.com\"})"}]

当我想像 JSON 一样得到它时

Json.obj(content.asJson)

我明白了

[null]

我怎样才能像 JSON 一样获得它,但当然不能为空?

【问题讨论】:

  • 我不清楚你的case class 是什么样的,asText 方法在做什么

标签: json scala playframework playframework-2.5


【解决方案1】:

AnyContentAsTextJSON 的唯一方法是简单地执行Json.parse(content.asText)

但是,奇怪的是,您从数据库中获得了 AnyContentAsText 的值。 AnyContentAsTextAnyContent 的所有其他子类实际上是为请求生命周期设计的。当您在控制器方法中使用请求时,您应该做的第一件事是将AnyContent 解析为预期的底层值(文本、json 等),然后对这些底层值执行任何业务逻辑/持久性。

【讨论】:

    【解决方案2】:

    如果您在后端收到 AnyContentAsText,请检查客户端发送的请求标头。 我忘记了我的 POST 中带有 JSON 内容的 "Content-Type": "application/json" 标头。添加标头后,我在后端收到了AnyContentAsJson,正如预期的那样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多