从AnyContent获取内容作为Json

时间:2016-05-20 10:23:06

标签: json scala playframework playframework-2.5

我有一个带有AnyContent字段的case类。我从DB那里得到它

@media (max-width: 500px){
    h2 {
        //set whatever font-size you want for headers
    }
    p {
        //set font-size for p
    }
}

比我在JSON中使用文本

AnyContentAsText( //some value)

它返回

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

当我想要它像JSON

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

我得到了

Json.obj(content.asJson)

我怎样才能像JSON那样得到它,但当然不是空的?

2 个答案:

答案 0 :(得分:1)

AnyContentAsText升级到JSON的唯一方法就是Json.parse(content.asText)

但是,您从数据库中获取AnyContentAsText的值很奇怪。 AnyContentAsTextAnyContent的所有其他子类确实用于请求生命周期。当您在控制器方法中使用请求时,您应该做的第一件事是将AnyContent解析为预期的基础值(text,json等),然后使用这些基础值执行任何业务逻辑/持久性。

答案 1 :(得分:0)

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