如何在 Play 框架 v2.0(来自 GIT 的最新版本)中渲染 JSON 响应

2023-12-22

我正在尝试做出这样的回应

def doAjax = Action { request =>
    object MyResult {
        val resultCode = 0
        val resultTextMessage = "sss" 
    }
    Ok(Json(MyResult)) // It's not working anymore - not compiling in v2.0!
}   

但如何使用 Play 2.0 将我的对象 (MyResult) 映射到 JSON? 在 Play 1.0 with scala 模块中,我成功执行了以下操作:

def dosomeaj = {
    object MyResult{
        val resultCode = 0
        val resultTextMessage = "sss" 
    }
    Json(MyResult) // It's working in 1.0
}    

EDIT2

New 维基链接 http://www.playframework.com/documentation/2.1.x/ScalaJsonRequests对于 v2.1。下面的旧链接不再有效。

EDIT

我们都很乐意阅读关于这一点的新 Wiki 条目。查看this https://github.com/playframework/Play20/wiki/Scalajson out


PREVIOUS

以下是社区对 play 2.0 中 Json 支持状态的评论。链接到帖子 https://groups.google.com/d/msg/play-framework/VeVacV4CU1o/Zm5gzwF7PScJ

他们正在从杰克逊转向受启发的哲学SJSON http://debasishg.blogspot.com/2010/07/sjson-now-offers-type-class-based-json.html它提供了对取消/编组的更多控制,带来了管理它们的设施,没有反射的开销(我同意他们的观点,这对性能来说是一种痛苦,并且对于类更改来说很脆弱......)

因此,您可以在帖子中读到以下内容:

case class Blah(blah: String)

// if you want to directly serialize/deserialize, you need to write yourself a formatter right now
implicit object BlahFormat extends Format[Blah] {
    def reads(json: JsValue): Blah = Blah((json \ "blah").as[String])
    def writes(p: Blah): JsValue = JsObject(List("blah" -> JsString(p.blah)))

}

def act = Action { implicit request =>
   // to get a Blah object from request content
   val blah = Json.parse(request.body.asText.get).as[Blah]

   // to return Blah as application/json, you just have to convert your Blah to a JsValue and give it to Ok()
   Ok(toJson(blah))
}

在第二个链接中(SJSON http://debasishg.blogspot.com/2010/07/sjson-now-offers-type-class-based-json.html),我建议您特别注意使用可能的通用格式case class及其解构方法(unapply).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Play 框架 v2.0(来自 GIT 的最新版本)中渲染 JSON 响应 的相关文章

  • JSON 解析为 Java - Android 应用程序

    我需要在 Java Android 应用程序中解析 json 字符串的帮助 JSON 文件的文本 data columns location id name description latitude longitude error type
  • 如何在 json 文件上使用 jq 过滤器时限制缩进

    我的输入 JSON 文件是 name abc private true version 1 0 0 description UI dependencies xyz 9 11 abc 5 0 0 当我使用jq name xyz 输出将打印为
  • 使用新的反射API,如何找到类的主构造函数?

    您可以像这样获取类的所有构造函数 import scala reflect runtime universe val ctor typeOf SomeClass declaration nme CONSTRUCTOR asTerm alte
  • 加密json数据

    如何加密从客户端到服务器来回传输的 JSON 数据 当我使用firebug时 我可以看到所有数据 内容在result d 我正在使用 ASP NET 3 5 和 C 我们的管理员已将网站设置为使用 https 但我仍然可以发送 POST 请
  • 将压缩的json数据存储在本地存储中

    我想将 JSON 数据存储在本地存储中 有时存储的数据可能超过 5MB 每个域的浏览器允许的最大阈值 无论如何 我可以压缩或压缩数据并将其存储在本地存储中吗 如果对大数据进行每个 JS 函数的压缩和解压 会增加多少延迟 我正在使用这个 js
  • Google Calendar JSON API:全天活动总是多一天

    Since recently the JSON API always seems to add a day when returning the timespan for full day events Display in Google
  • 如何使用 angular2 反应形式构建嵌套数组?

    I have an array like PermissionRoleModule id 1 legend businessModule group PermissionRoleGroup id 1 permission controleT
  • scala案例类复制实现

    我找不到 scala 中案例类的复制是如何实现的 我可以以某种方式检查一下吗 我虽然 Intellij 可以指出我的实现 但它不想跳转 我不知道为什么 您可以使用以下命令检查 scala 案例类输出scalac print ClassNam
  • Scala:折叠与折叠左

    我试图了解fold 和foldLeft 以及各自的reduce 和reduceLeft 如何工作 我使用 Fold 和 FoldLeft 作为示例 scala gt val r List ArrayBuffer 1 2 3 4 10 sca
  • 从 http.get() 加载的 JSON 数据在我的 Angular 2 模板中未定义

    我正在尝试读取本地 json 文件并将其解析为我制作的具有相同属性的类 当我尝试从类中读取时 它给出错误 指出该类为 null 或未定义 我有一个文件hall ts看起来像这样 import Item from item item expo
  • IntelliJ、Akka 和配置文件

    使用时akka http akka io 我放置akka conf in src main resources 当我run通过 sbt akka conf被正确识别 但当我运行 IntelliJ 时却没有 即使在gen idea 实现这一目
  • jquery getJSON 跨域问题

    使用 JQuerys getJSON 从另一个域拉入 JSON 文件时 我似乎无法使该文件正常工作 我已经将回调部分放在了 url 的末尾 但仍然没有任何乐趣 Firebug 告诉我这是一个跨域问题 这似乎是有道理的 就好像我将 json
  • 如何对 SwiftyJSON JSON 对象进行子集化

    我正在构建一个 iOS 应用程序 其中我的一个 API 调用返回一个大型 JSON blob 我使用 SwiftyJSON 将其加载到 JSON 对象中 例如 它看起来像这样 data name object name id 1 descr
  • 如何使用 JQuery 获取 Json 记录总数?

    我找不到任何有关使用 jQuery 获取 JSON 记录总数的信息 这是返回的 JSON Email Please enter your Email Password Please enter a password 这是我的代码 funct
  • 如何转义 JSON 字符串中日期时间值内的冒号

    我需要使用从外部源收到的字符串实例化 JSONObject 该字符串包含一个日期时间值 该值又包含一个冒号 当我尝试创建 JSONObject 的实例时 出现错误 看起来 JSON 不喜欢日期时间值中间的冒号 这是一个代码片段 Test p
  • sbt:未经授权发布到公司 Nexus 存储库

    快速解决 所需的凭证需要连接所定义的确切领域 请参阅下面如何找到您定义的那个 但最肯定的是 Sonatype Nexus Repository Manager 像平常一样将其余详细信息添加到凭据中 c data user sbt crede
  • 有效 JSON 上的 Firefox JSON“格式不正确”错误

    我在 Firefox 中收到以下错误消息 Error not well formed Source File http school courses booking add php 1287657494723 Line 1 Column 1
  • 如何在改造中在主体内传递 JSON 数组

    intent sale redirect urls return url http example com your redirect url html cancel url http example com your cancel url
  • Javascript - 通过键获取特定 JSON 数组元素内的属性值

    我有一个像这样的 JSON 结构 map key1 valueA1 key2 valueA2 key3 valueA3 key1 valueB1 key2 valueB2 key3 valueB3 key1 valueC1 key2 val
  • 将json数据从servlet传递到jsp到js文件

    我得到了这个创建 JSON 数据的 servlet 我想将此数据传递到一个 jsp 页面 该页面应该通过 InfoVis 工具包显示数据 servlet java JSONObject json new JSONObject JSONArr

随机推荐

  • .net core 项目依赖项 - 黄色三角形

    我的 Net Core 项目的依赖项上有一个黄色三角形 但是当我打开它时 所有子条目都没有黄色三角形 当我将鼠标悬停在依赖项上时 我没有看到任何工具提示告诉我出了什么问题 如何检查导致出现此黄色三角形的原因 我按照 oandreeeee 的
  • Lambda 和内存泄漏:寻找替代方法

    Edit 如果一位有能力验证此类事情的经验丰富的程序员向我展示该方法不会出现内存泄漏的证据 我将不胜感激 我已经将它引入到我的许多编码工作中 但我心中仍然有一个小疑问 不幸的是我不够好 不知道调查它的工具 原来的 我最近了解到 lambda
  • Octave - .m 文件编译器?

    我知道与Matlab可以将脚本 函数编译为可执行文件 然后与 Matlab 编译器运行时一起成为独立版本 有什么可能的方法编译与 Octave 相关的 m 文件作为可执行程序 不再需要 m 文件来运行 我想要一个独立版本的脚本 可以与八度库
  • 索引 16 处的路径中存在非法字符[重复]

    这个问题在这里已经有答案了 我在 RAD 中收到以下错误 java net URISyntaxException Illegal character in path at index 16 file E Program Files IBM
  • 在页面加载时获取ajax哈希url

    假设我在进行 ajax 调用时设置了一个哈希值 例子 http example com hash html http example com hash html 如果我加载另一个页面并单击后退按钮 我将如何检测哈希值并在加载时提取 url
  • CodeIgniter 的重写规则不起作用

    我已经安装了一个干净的 Apache2 加上 PHP 和 MySQL 服务器并启用了mod rewrite在阿帕奇配置中 我添加了 htaccess文件以从 url 中删除 index php 如 CodeIgniter wiki 中所述
  • TypeORM 是否为不同存储库提供事务?

    目前 三个不同的存储库需要将某些内容作为单个事务进行处理 我的服务代码写如下 但与我想象的不同 每个存储库都生成自己的事务 我怎么解决这个问题 TrimService Injectable export class TrimService
  • 如何使用 Python Etsy HTTP API 方法添加新项目?

    我正在尝试使用 Etsy API 在我的商店中添加新列表 在文档部分它说 下面的部分如何做到这一点 首先仅供参考 我以前从未使用过 HTTP 方法 所以我不确定如何设置代码以添加新项目 链接到 Etsy API 页面https www et
  • 如何检查子字符串是否包含“apple”中的所有字母

    如果我有字符串 axplpett 我想返回 true 因为它的子字符串 axplpe 包含 apple 的所有字母 我本来想使用set方法 但是苹果有重复字符 就这么简单 string axplpett test apple all str
  • 在母版页上使用时,ASP.Net 菜单控件呈现不正确

    我正在努力寻找 ASP Net 菜单控件与母版页结合使用时出现的奇怪问题的解决方案 当用户导航到某个页面时 via 菜单 继承自母版页 整个菜单只是展开并在屏幕上闪烁 立即折叠并呈现页面 导致屏幕上出现一些闪烁 让用户感到烦恼 现在 为此建
  • 如何使用 Jersey REST 序列化 Java 原语

    在我的应用程序中 我使用 Jersey REST 来序列化复杂对象 这工作得很好 但有一些方法只返回 int 或 boolean Jersey 无法处理原始类型 据我所知 可能是因为它们没有注释 并且 Jersey 没有默认注释 我通过创建
  • iOS 8 用户之间的数据共享

    我是 iOS 新手 我需要创建一个小型应用程序 允许注册用户在他们之间共享特定数据 我正在寻找最佳解决方案 我知道我可以创建一个服务器 它处理用户身份验证 推送通知以及在它们之间共享数据 但也许有一种更简单 更好的方法 我看到iOS 8引入
  • PostgreSQL 中写入操作的 CTE 并行查询

    From PostgreSQL 9 6 发行说明 https www postgresql org docs 9 6 static release 9 6 html AEN130398 只有通过顺序扫描访问驱动表的严格只读查询才能并行化 我
  • Jboss 4.2 类加载

    我有一个罐子server default lib其中包含Foo class Bar class 我的班级也有同样的班级application WEB INF classes部署在server default deploy and Examp
  • 批处理文件运行时显示不确定的 JProgressBar

    我已经浏览 SO 和谷歌一段时间来寻找这个问题的答案 但我似乎找不到真正有效的答案 我将从头开始 我创建了一个 Java 类 其方法在后台运行批处理文件 不出现命令窗口 该程序运行良好 但最终用户会有点困惑 因为批处理文件需要一段时间才能完
  • CSS 文件中的 ASP.NET MVC URL 自动解析

    在正常的 WebForms 场景中 任何根相对 URL 例如 folder file txt insideCSS 文件例如 form background image url Content Images form bg gif 如果我指定
  • 无法使用 Fetch API 从本地主机加载 Deezer API 资源

    我尝试从本地主机访问 Deezer API 但不断收到以下错误 Fetch API cannot load http api deezer com search track autocomplete limit 1 q eminem Res
  • Mac OS X:我应该在哪里存储常用应用程序数据?

    MacOS X 上存储由不同用户共享的应用程序数据的标准路径是什么 我不是在谈论临时数据 而是由某个特定程序定期使用且不属于任何特定用户的数据 例如游戏高分表 Thanks Adrian 我相信您正在谈论支持文件 支持应用程序但不需要运行的
  • 用于管理 asp.net 会员提供程序和角色管理的管理页面

    有没有提供前端的开源项目ASP NET 会员提供商 http msdn microsoft com en us library yh26yfzy aspx 像 one Visual Studio 这样的东西通过它的配置公开 但可以部署在生产
  • 如何在 Play 框架 v2.0(来自 GIT 的最新版本)中渲染 JSON 响应

    我正在尝试做出这样的回应 def doAjax Action request gt object MyResult val resultCode 0 val resultTextMessage sss Ok Json MyResult It