使用Play将两个json对象渲染到视图中!斯卡拉2.3

时间:2014-11-09 14:13:50

标签: json scala playframework-2.3

这是一个愚蠢的问题:我只想向视图渲染两个Json object,我设法分别渲染它们但不能一起渲染......

我尝试了一个简单的伎俩(我尝试了两个'+'):

def totalToPay = Action { 
    Ok(Json.toJson(Account4686.findAllWithCredit()) + Json.toJson(Account403.findAllByOrgaIdWithCredit(1)))
}

但没有成功。我有这个编译错误:[error] /home/sim/dev/ticketapp/app/controllers/Admin.scala:136: type mismatch; [error] found : play.api.libs.json.JsValue [error] required: String

执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

你可以JsArray构建一个Seq[JsValue]的构造函数:

JsArray(Seq(Json.toJson(obj1), Json.toJson(obj2))

或者,如果您想使用JsObject而不是数组,则可以执行以下操作:

Json.obj("obj1" -> obj1, "obj2" -> obj2)

要合并两个对象,您可以使用++

Json.toJson(obj1).asInstanceOf[JsObject] ++ Json.toJson(obj2).asInstanceOf[JsObject]