【问题标题】:Bootstrapping JSON data into Scala PlayFramework templates将 JSON 数据引导到 Scala PlayFramework 模板中
【发布时间】:2015-04-11 04:36:02
【问题描述】:

目标是从用 Scala 编写的模型/视图模型转换为可以引导到视图模板中的原始 JSON,以避免在页面加载后请求 JSON 数据。

以及我一直在玩但运气不佳的示例:

@(todos: play.api.libs.json.JsValue)
@import play.api.libs.json.Json

<html>
   <head>...</head>
   <body>...</body>

   <script>
      var todos = JSON.parse(' @Json.stringify(todos) ');
   </script>
</html>

基本上它会吐出很多引用的文字,大意是:

[{&quot;id&quot;:&quot;:&quot;294858e2-c9eb-4f50-9eac-47b257573d83&quot;}] 

对 Google 或 PlayFramework 文档不太满意,所以我希望得到一些帮助。

【问题讨论】:

  • 这里实际上有什么问题?
  • 默认情况下,模板引擎将 HTML 引用您的数据,因此请尝试使用 @Html(Json.stringify(todos)) 之类的方法逐字呈现。查看 HTML 输出以进行验证。您可能还需要将todos 参数的JsValue 类型完全限定为play.api.libs.json.JsValue,因为AFAIK 它不是默认模板导入。
  • @Mikesname 你猜对了问题。您对使用@Html 的建议非常有效。如果您可以发布您的建议作为答案,我会继续接受。

标签: json scala playframework


【解决方案1】:

Play 模板引擎会将您呈现为 HTML 的任何字符串转义,这将彻底破坏您的 JSON。

要逐字输出,请执行@Html(Json.stringify(todos)),如here 所述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2013-07-21
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 2013-03-19
    相关资源
    最近更新 更多