问题标签 [play-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
70 浏览

playframework - 安装播放 2.4.4

如何在 mac 上安装 Play 2.4.4 框架?

0 投票
2 回答
749 浏览

json - 如何为具有超过 22 个字段的案例类编写隐式写入

对于这样的案例类,我需要编写隐式 json de-/serializer。我尝试拆分字段,并有一个 JSONFormat。但是我仍然需要隐式 OWrited 来使用 Json.obj()。我也尝试使用 play-json-extensions。有任何想法吗?

0 投票
1 回答
683 浏览

json - 获取泛型 Seq 的 Json 格式

我有一个具有泛型类型的抽象类,它从其子类中获取该泛型类型的 Json 格式。但抽象类也需要该类型序列的 Json 格式。在 Scala 中是否有任何方法可以仅基于这些事物的格式来获得一系列事物的 Json 格式?

我正在使用 Play Json 框架。

这是一个不完全符合我的情况的示例,但很好地表明了我想要实现的目标:

0 投票
1 回答
551 浏览

scala - Json.fromJson, as, asOpt 和 validate 有什么区别?

如果我有,我应该使用哪种方法从: 、和JsValue获取值?JsValueJson.fromJsonasasOptvalidate

0 投票
2 回答
6924 浏览

json - Option[String] 没有 Json 格式化程序?

我正在尝试编组和取消编组与 JSON 之间的 Option[String] 字段。对于我的用例,应将 None 值封送为“null”。这是我的代码:

这会导致以下编译器错误:

这些是我尝试过的一些事情:

替换(__ \ "first_name").format[Option[String]](__ \ "first_name").formatNullable[String]使编译器满意,但测试失败 (""java.util.NoSuchElementException: None.get""),输出如下(来自println(json)

这证实了formatNullable' 的行为(不呈现无值字段)。

接下来,我将格式替换为writes. 像这样:

现在,编译器很高兴并且测试通过了。

但是我现在需要实现一个单独的 Reads。如果可以,我宁愿不这样做,因为它违反了 DRY 原则。

我做错了什么,当 write[Option[...]] 完美运行时,为什么不格式化 [Option[...]]?

0 投票
1 回答
482 浏览

scala - play-json 读/写宏中的类型参数

我有一个参数化案例类CaseClass[T](name: String, t: T),我想使用 play-json (2.5) 对其进行序列化/反序列化。

当然,如果我没有 type 的等价物,我就不能拥有这个T,所以我定义

但我收到以下编译器错误:

如果我尝试对Json.writes宏执行相同操作,则会收到错误消息

最令人惊讶的是,当我使用Json.format宏时,两个错误都没有发生。

我知道我有不同的解决方案来绕过这个问题(使用Json.format,手动编写我的(反)序列化器,......),但我很好奇为什么会在这里发生。

0 投票
1 回答
275 浏览

playframework-2.0 - 通过跳过它来播放带有一个参数的 JSON 序列化/反序列化案例类

我有以下对象:

我想让它们在 JSON 中像这样序列化:

这意味着我想省略自动格式化程序添加的“值”参数,如果我简单地写这个:

我尝试编写自定义编写器/读取器,但我真的不知道如何跳过 JPath。

0 投票
1 回答
2429 浏览

scala - 如何使用 play-json 编写和读取空案例类?

我有一个对应于 HTTP GET 请求的空案例类:

每条消息都有一个伴随对象,描述了它的隐式 JSON 写入器和读取器:

但是,因为GetFoo不带参数,所以无法(反)序列化它:

Unapply 对象GetFoo没有参数。您使用的是空案例类吗?

一种将虚拟布尔变量注入构造函数的解决方法GetFoo,但这是一个杂项。我想将GetFoo(反)序列化为空的 JSON 对象。我怎样才能做到这一点?

由于 GET 请求不发送数据,因此如果正在使用读取器/写入器,最好让其抛出异常,因为该请求不需要被写入或读取,但扩展类需要它。

我的设计依赖于GetX类扩展MyQueryRequestGetX伴随对象扩展MyImplicitJsonProvider[GetX]

0 投票
0 回答
184 浏览

scala - play json中的递归转换器

我想通过应用转换器来更新 jsValue 中的所有对象

我希望看到这个结果:

我得到错误:

但似乎递归路径(反斜杠)不起作用,有可能做到这一点吗?

0 投票
1 回答
273 浏览

scala - 如何在scala中正确创建树

我最近在工作中遇到了这个问题,并且无法弄清楚如何使用 Scala 来完成它。我正在使用播放框架,所以我可以访问 JSON 库。我是 Scala 的新手,想知道如何完成这项特定任务。示例数据是真实数据外观的示例。

最后,我无法弄清楚这一点,而是在这个 Scala API 的 PHP 使用者中解析数据。我很想改变它:)

谢谢!


给定以下元组:

生成以下 JSON: