问题标签 [spray-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 投票
2 回答
908 浏览

json - Spray-json 中的递归数据类型和自定义序列化器

我有一个递归数据结构,我想为其编写一个自定义的 spray-json 序列化程序。

如果您使用内置的序列化逻辑,我已经看过有关如何为案例类执行此操作的文档,但我不知道如何将其应用于自定义序列化程序。我得到这个编译器错误:

0 投票
0 回答
265 浏览

web-services - AbstractMethodError 使用 spray 和 akka

我想用spray和akka做一些网络服务。GET resquests 工作正常(使用 spray-json 获取元素列表、一个值……)但是对于我的身份验证请求,我有一个期望,但我不知道为什么。我进行了一些单元测试以查看序列化/反序列化是否适用于编组器,并且我看到了一个格式良好的 json 对象。

这是我的堆栈跟踪:

我找到了有关此错误的主题,问题是 scala/spray/akka 版本,但我检查并使用了正确的版本(scala 2.10.4/spray 1.3.2/akka 2.3.6)

任何人都有解决方案或轨道?

编辑: GET webservices 也不起作用......我认为这是一个配置问题。

0 投票
2 回答
6007 浏览

json - 当 json 元素不存在时,如何设置 spray-json 以设置 null?

这是spray-json 示例。这是NullOptions特征。

问题是当我声明一个案例类时说

并且 json 不包含字段,例如:

我得到:java.util.NoSuchElementException: key not found: age

所以我必须添加一个这样OptionNullOption特征:

一切正常。但我不想有一个所有成员都是的案例类Option。有没有办法将喷雾 json 解组配置为仅设置空值而无需其他Option类型?

附言

我知道通常Option比空检查更好,但在我的情况下它只是猴子代码。

响应处理期间编组的完整示例也在这里

0 投票
2 回答
8028 浏览

mongodb - 如何在编组期间将 org.bson.types.ObjectId 转换为 String?

看起来我必须编写一个序列化器/反序列化器来解决这个问题,但不完全确定如何。我看到了几个使用 liftweb 框架的例子,但不是没有它。有关如何使其正常工作的任何帮助?

注册模式

RegistrationsRoutes 类的代码片段

处理完成(结果)语句时出现以下错误

0 投票
1 回答
5783 浏览

json - 找不到案例类的 JsonWriter 或 JsonFormat 类型类

按照http://www.smartjava.org/content/first-steps-rest-spray-and-scala的教程,有一些意外的错误消息。到底是怎么回事?我是否通过implicit val personFormat = jsonFormat3(Person)调用定义了隐式 JsonWriter?

0 投票
1 回答
1725 浏览

json - 如何为(反)序列化建模类枚举类型的有限值集?

我正在使用 Spray-json 1.3.1。我有以下 JSON 消息:

简单地说,这可以通过反序列化为status字符串字段

使用自定义协议

由于statusfield 可以是 , 之一,OK因此将此字段作为 String 是没有意义的。由于我来自 Java 背景,因此我尝试了 Scala 中的枚举实现如下:ZERO_RESULTSOVER_QUERY_LIMIT

解决此问题的最佳实践/方法是什么?

0 投票
3 回答
4439 浏览

scala - 带有可变参数的案例类的隐式 jsonFormat

我有一个包含可变参数的案例类,其隐式 jsonFormat 如下:

它引发了一个错误:

我也试过:

这导致了不同的(运行时!)异常:

以下:

引发前一个错误

甚至可以为带有可变参数的案例类定义隐式 jsonFormat?

0 投票
2 回答
2873 浏览

json - Scala、Akka、Spray:如何在处理前验证 json 数据?

当所有输入都有效时,我可以处理这个 json,即使用有效的键(包括大小写)和值。下一步是验证键并在键或值无效时返回 400(错误请求)。添加此验证的好方法是什么?

API 调用

路由处理程序

模型对象

entity(as[AdSession]) 确实将键映射到案例类字段,但我不确定如何捕获这些错误。我想捕获这些错误并添加额外的验证并返回 400 和有效的 json 错误响应。

0 投票
0 回答
968 浏览

spray - SprayJson:对象缺少必需的成员 'User$u0020ID

这是我的Json

我有两个案例类

我无法获取用户 ID 值

请帮忙,我得到下面的例外

0 投票
2 回答
8775 浏览

scala - 使用 Spray-json 解析简单数组

我正在尝试(但失败)了解 spray-json 如何将 json 馈送转换为对象。如果我有一个简单的键 -> 值 json 提要,那么它似乎工作正常,但我想读取的数据出现在如下列表中:

我的代码如下所示:

如果我更改我的测试文件,使其只有一个人不在数组中并运行,val friendList = input.convertTo[Person]那么它可以工作并且所有内容都可以解析,但是一旦我尝试解析数组,它就会失败并出现错误Object expected in field 'items'

谁能指出我做错的方向?