如何在 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?

    在 Ruby 中 有没有办法在尝试解析字符串之前检查它是否是有效的 json 例如 从其他一些 url 获取一些信息 有时它返回 json 有时它可能返回一个垃圾 这不是有效的响应 My code def get parsed respon
  • 将 ADODB.RecordSet 输出为 JSON

    我正在尝试更改我的应用程序 以便它输出 JSON 而不是 HTML当它发出 AJAX 请求某些数据时 我有一个 ADODB 记录集 我需要逐行循环它并添加 更改 删除不同的值 然后我需要获取所有修改的行response write它们作为
  • 查找/删除/添加/更新嵌套 json 中的对象

    我在嵌套 json 中查找对象时遇到问题 我需要在嵌套的 json 中执行 添加 对象和 删除 对象等操作 通过使用 JSON stringify 并在该字符串中查找对象 ID 参数 每个对象都有自己的唯一 ID 来获取对象是否很容易 然后
  • 如何从 JSON 获取字符串对象而不是 Unicode

    我在用着Python 2从中解析 JSONASCII 编码文本文件 当使用以下任一方式加载这些文件时json https docs python org 2 library json html or simplejson https pyp
  • Json.net反序列化null GUID案例

    我正在使用反序列化对象Json NET包含 Guid 类型的私有字段和该字段的公共属性 当我的价值Guid我想分配的 json 中为 nullGuid Empty到我的领域 public class MyClass private Guid
  • 在 Scala 中生成数字的质因数

    如何在 Scala 中生成整数的因子 这是我的看法1 def factorize x Int List Int def foo x Int a Int List Int if a gt Math pow x 0 5 return List
  • 不支持的媒体类型 ASP.NET Core Web API

    在前端 我使用 Angular 从表单收集一些数据并将其发送到我的服务器端控制器 如下图所示 我在控制器和服务上获取数据 scope newData 但是当它到达服务器时 我收到以下错误 不支持的媒体类型 并且我的 newData 为空 我
  • Json.NET 在返回 json 序列化字符串时添加反斜杠

    我正在尝试使用 Json NET 将列表序列化为 json 字符串 但返回字符串中包含反斜杠 这又导致 json 解析失败 var x from d in entities Books ToList select new ID d ID B
  • 如何访问 Pandas DataFrame 中嵌入的 json 对象?

    TL DR 如果 Pandas DataFrame 中加载的字段本身包含 JSON 文档 那么如何以类似 Pandas 的方式使用它们 目前我直接从 Twitter 库转储 json 字典结果 twython https github co
  • 使用 CodeIgniter 基于 JSON 数据创建 Google 饼图

    我尝试根据示例创建饼图here https developers google com chart interactive docs php example 在我的控制器 mycontroller json 中 我有以下代码 public
  • 为什么 JQuery 自动完成结果没有显示在浏览器中?

    我有一个工作小提琴 但自动完成功能不会在浏览器中显示任何内容 小提琴可以在这里看到 工作小提琴 http jsfiddle net dS5YL 在 HTML 中 我有一个用于测试目的的输入元素
  • Scalaz 7 Iteratee 处理大型 zip 文件(OutOfMemoryError)

    我正在尝试使用 scalaz iteratee 包在恒定空间中处理大型 zip 文件 我需要对 zip 文件中的每个文件执行一个长时间运行的进程 这些进程可以 并且应该 并行运行 我创建了一个EnumeratorT使每个膨胀ZipEntry
  • bash 脚本中的 JQ 参数错误

    我的 JQ 查询有问题 max script lt return integer jq r notifiestext map select read false temp notif jq arg foo max map select id
  • 使用 Jackson 将 Json 反序列化为其他类层次结构

    现在我正在和杰克逊一起工作 我对此有一些疑问 首先 我有两个服务 第一个是数据收集和发送服务 第二个是接收该数据 例如将其记录到文件中 因此 第一个服务的类层次结构如下 ConcreteC Base ConcreteA ConcreteB
  • twig json_encode 空 json

    我正在从 API 接收元素列表 所有元素的格式都很好 当我使用树枝转储其中一个时 我得到以下信息 Leg 2695 id null reservation null airportStart AIX LES MILLES airplaneT
  • 在应用程序中注册API

    通过 django rest framework 我正在使用DefaultRouter 我想为多个应用程序提供 API 所以我的问题是我能否以 django 方式执行此操作 并将我的路由器注册放入每个应用程序 URLconf 中 并让它们显
  • 如何使用 jquery 在 ajax 调用中设置标头

    我需要从我自己的应用程序调用 Office 365 Rest API 当我在同一浏览器会话上复制并粘贴 url 时 我可以看到一些 XML 如果我将该 URL 粘贴到隐身窗口中 则会收到以下错误 The custom error modul
  • ssis 输出 json 文件添加额外的 crlf

    这个问题已经用c 代码解决了 请参考这篇文章the post https stackoverflow com questions 54059599 ssis generate json file remove return 54084996
  • IntelliJ IDEA Scala 插件问题

    我对新的 Intellij IDEA 10 和 Scala 插件有疑问 当我在 Scala 源文件中输入任何内容时 编辑器会永久冻结 在其他文件 java 和其他 编辑器中效果很好 结构视图 scala 检查和显示成员功能已关闭 堆大小增加
  • JSON 数据的动态表单(不同类型)

    我尝试使用 JSON 中的数据在 AngularJS 中创建动态表单 我有这个工作 HTML p p

随机推荐

  • .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