问题标签 [playframework-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.
json - Play2 找不到 JSON 的隐式读取或格式
这是我的搜索对象:
我在使用 WS 调用 web 服务时尝试使用这个类:
但是 scala 编译器一直抱怨这一行:
没有为 models.helper.Search 类型找到 Json 反序列化器。尝试为此类型实现隐式读取或格式。
谁能告诉我我做错了什么?
json - 使用 play.api.libs.json 将对象序列化为 json
我正在尝试将一些相对简单的模型序列化为 json。例如,我想获得以下的 json 表示:
我需要用适当的读写方法编写自己的 Format[User] 还是有其他方法?我看过https://github.com/playframework/Play20/wiki/Scalajson但我还是有点迷茫。
json - 在 Play 框架中使用读、写和格式
我在 Play 中有一些模型!我想从 JSON 序列化/反序列化的应用程序。我曾经有单独的方法,但我已经看到首选的方法是给出Formats[T]
or的隐式实例Reads[T]
,比如
现在,模型可能在 JSON 中有正确的字段,但它没有验证。在这种情况下,我无法反序列化 - 在使用json.as[Foo]
或None
使用json.asOpt[Foo]
.
如果我在发现未验证的字段时抛出异常,则一切似乎都按预期工作。但是我小心翼翼地试图找出我应该抛出什么异常,并且在源代码中JsValue
我发现了这个
现在,我无法理解这应该如何工作。的隐式实例fjs
由我自己在伴生对象中提供,所以我知道fjs.reads(this)
要么返回 aFoo
要么抛出异常。
这是fold
从哪里来的?它当然不是一种方法Foo
。我想一个人可能有一个隐式转换,但它应该是从Any
某种fold
方法到某物,所以它不会引起太大兴趣。更糟糕的是,如果fjs.reads(this)
抛出异常,则没有任何东西可以捕获它!
那么,应该如何处理 JSON 中的无效输入
Reads[T]
?上面的机制实际上是如何工作的?
json - 使用 Play Scala api 和 Json 序列化对象
我尝试在使用 Scala 到 Json 的 play 2.0 应用程序中序列化我的模型。这就是我的代码的样子:
不幸的是,我在运行应用程序时收到以下错误:
我还没有找到解决办法。api(http://www.playframework.org/documentation/api/2.0/scala/play/api/libs/json/package.html)的文档似乎也暗示了我采用的方法。
有人发现我的错误吗?
非常感谢,
乔尔
json - 在 Play 2 中使用 JSON 时出错
我正在尝试使用 JSON 和 Play Framework 2.1.0 和 Scala 2.10 进行序列化/反序列化。我正在使用 Anorm,并且我有一个非常简单的对象,我想将它存储在数据库中。订单非常简单:
在我的控制器中,我正在尝试构建一个 REST 接口,以便能够以 JSON 形式接受和发送 Order 实例(上图)。在那里,我有以下代码:
但是,当我使用以下命令运行“play test”时,编译失败:
覆盖方法读取 trait Reads of type (json: play.api.libs.json.JsValue)play.api.libs.json.JsResult[anorm.Pk[Long]]; [错误] 方法读取的类型不兼容 [错误] def reads(json: JsValue):Pk[Long] = Id(json.as[Long])
有谁知道为什么会这样?
我对 JAXB 有很多经验,但我对 Play 和 Scala 还是很陌生,到目前为止我还没有找到任何答案。这似乎是一个非常简单的用例,实际上我希望有一个更简单的解决方案(如注释),但我无法找到一个(至少现在还没有)
任何帮助是极大的赞赏!
谢谢
json - Play Framework 2.1.1 Json 写入嵌套对象
整个下午我一直在努力解决这个问题,但无济于事,Play 2.1.1 彻底改变了 Json 读写的工作方式。
基本上我有一个看起来像这样的包装器对象:
如您所见,它包含 2 个我想要序列化和反序列化为 json 的类。
但我不明白如何使用新设计获取和设置子类中的字段。
例如
我想要一个包含大部分子类字段的json blob,所有字符串。
因为它使用了应用的东西,所以我看不到如何在映射之前创建子类。
非常感谢任何帮助或指导。
谢谢
汤姆
json - 使用 Play 2.1.1 遍历 JSON 中的数组
我正在使用 play 2.1.1 并且在遍历数组时遇到问题。我在某处读过,您可以为 List[Object] 创建读取,但每次我尝试这样做时,我都会收到一条错误"No unapply function found"
消息
implicit val userListReads: Reads[List[FBUser]] = Json.reads[List[FBUser]]". The issue is " = Json.reads[List[FBUser]]
我不知道还能尝试什么。任何帮助将不胜感激。
scala - 如何使用转换器在 Scala Play Framework 2.1 中修剪 JsArray
为了减少从我无法更改的内部 Web 服务到 Internet 客户端的网络流量,我想减少 JSON 响应。
因此,Web 服务“中继”仅提取 JSON 响应的特定子集。
由于正在发生的只是将 JSON 从一种格式转换为另一种格式,因此我更愿意在 Play Framework 2.1 中使用新的 JSON 转换器(请参阅:http ://www.playframework.com/documentation/2.1.1/ScalaJsonTransformers )
为了增加难度,响应是一个不同 JSON 对象的数组,每个对象只需要两个字段。
作为一个特定的虚拟示例,我正在尝试转换以下 JSON:
进入:
我使用的模板方法是:
json - Scala Play Json 读取
我有一个示例代码如下。
当我尝试将 json 解析为 Scala 对象(在本例中为业务类)时,出现 Json 验证错误。错误是
JsError(List((/retailer,List(ValidationError(validate.error.missing-path,WrappedArray()))), (/preferredUrl,List(ValidationError(validate.error.missing-path,WrappedArray()))), (/name,List(ValidationError(validate.error.missing-path,WrappedArray()))), (/businessPhone,List(ValidationError(validate.error.missing-path,WrappedArray())))))
但是,如果我的 json 像
请注意,外括号“{”和“business:”键已被删除。我得到了一个 JsSuccess。在第一种情况下,我如何为 Json 编写读取?另外,我怎样才能以通用的方式做到这一点?
请帮忙。
json - PlayFramework 2.2 - Scala - 读取混合数组
我正在尝试使用读取器/组合器来解析包含混合数据类型的数组,但我不确定如何为这样的东西指定读取器。我有一些这样的 JSON:
我想将所有这些解析为字符串表示,但是当我尝试使用阅读器时,List[String]
我得到了解析异常。我想象这样的事情:
但是,由于没有阅读器JsValueWrapper
,我不确定从这里去哪里。任何帮助是极大的赞赏。
谢谢!