问题标签 [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.
json - 在喷雾中发布请求。如何在服务器端捕获它?
我需要使用 Spray 发出发布请求,但我不明白如何在服务器端捕获请求。这是我的代码:
客户:
SERVER(4 个测试中的任何一个都没有捕获到请求):
请帮帮我
akka - 在 spray-json 中解组嵌套的 json
使用spray-json(因为我正在使用spray-client)为了从谷歌地图API获取纬度、经度对象,我需要设置整个响应结构:
有什么办法可以Location
从响应中的 json 中获取并避免所有这些口香糖吗?
喷雾客户端代码:
或者,我怎样才能将杰克逊与喷雾客户端一起使用?
json - 如何使用 scala 和 json spray 将混合类型值的 json 转换为 json
我尝试了 json spray 的教程,但我有一个不同的字符串,其中一个值是字符串,另一个是列表。如何将以下字符串转换为每个键是列表或字符串的 json 对象?
我写了一小段代码,但不能从这里继续:
如果我不能,我如何获得一些键的值(希望没有正则表达式)我宁愿避免为它创建一个特定的对象,因为有些键可以改变。
谢谢,大卫
scala - 找不到参数编组器的隐式值:spray.httpx.marshalling.ToResponseMarshaller
我在用着
并得到这个错误:
找不到参数编组器的隐式值:spray.httpx.marshalling.ToResponseMarshaller[List[org.bwi.models.Cluster]]
使用此代码:
}
我已经尝试过关于这个问题的建议,但没有奏效,同样的错误。
我似乎无法弄清楚我需要导入的隐含内容是什么。任何帮助,将不胜感激。
scala - 如何通过值的运行时类型查找 spray-json 格式化程序?
使用 spray-json 的传统方法似乎是JsonFormats
在编译时将所有模型绑定到适当的(内置或自定义),格式都是隐式的。有没有办法在运行时查找格式化程序?我正在尝试编组一个异构的值列表,而我看到的唯一方法是
- 编写一个显式查找(例如使用模式匹配),硬编码哪个格式用于哪个值类型,或者
- 使用反射来找到所有隐含的东西很疯狂
我对 Scala 和 spray-json 都很陌生,所以我担心我错过了一些更简单的方法。
更多上下文:我正在尝试编写一个自定义序列化程序,它只写出(惰性)对象字段的指定子集。我在运行时遍历指定字段(字段名称)的列表并通过反射获取值(实际上它比这更复杂,但足够接近),现在对于每个我需要找到一个JsonFormat
可以序列化它的值。
json - spray-json JsString 对字符串值的引用
我正在使用 json-spray。似乎当我尝试打印已解析的 JsString 值时,它在字符串上包含了以书本结尾的引号。
哪个输出:
但这意味着 key1 的字符串值实际上是引用的,因为 scala 显示没有引号的字符串。即val k = "value1"
输出:value1
不是"value1"
。也许我做错了什么,但我能想出的最好的缓解方法如下:
输出正确显示的字符串:
但是这个解决方案不适用于递归嵌套的 JSON。有更好的解决方法吗?
json - Spray-Json:如何解析 Json 数组?
我是 Spray-Json API 的新手,我正在尝试解析来自 Docker REST API 的 Json 响应。
有一个使用 Spray-Json 解析此 Google Map Json 响应的干净示例:
在上面的例子中,最外层是一个Object
. 但是,我需要直接解析一个 Json 响应,其最外层是Array
由容器信息组成的,如下所示:
这是我改编自 Google 地图示例的代码:
下面是我得到的例外 ( Object expected
) :
我当然错过了一些明显的东西,但是如何使用 Spray-Json 解析 Json 数组?
此外,是否有一种简单的方法可以做到这一点而无需处理自定义 JsonFormat 或 RootJsonFormat?
json - 有没有更实用的方法来执行这个请求序列?
有一个 REST api,它返回一个带有 json 列表(命名结果)的 json 和一个指向下一批结果的 url(对于最后一个“页面”,这个 url 等于 null)。我想汇总整个结果(将所有 json 列表连接成一个)。我正在使用 spray-client 来执行 GET 请求,这就是我想出的:
我的问题是:有没有办法让它更实用?(避免递归或使其尾递归?)。甚至,spray 是否支持惯用的这种聚合?
spray - 测试 spray.io 响应
我有下一个代码:
在index
方法中,我foo.scala.html
使用Twirl
. 我想测试这种行为:
但我得到了错误:
Tests.scala:49: could not find implicit value for evidence parameter of type spray.httpx.unmarshalling.FromResponseUnmarshaller[List[pack.Foo]]
[error] responseAs[List[Foo]] should be(List(t0, t1))
我定义了隐式方法:
但我不知道我应该在正文中写什么。谢谢。
scala - 如何使用 squeryl 和 spray-json 为 Play2 中的表实现通用 REST api
我正在尝试在 Play2 中实现一个控制器,它为我的数据库表公开了一个简单的 REST 样式的 api。我使用squeryl进行数据库访问,并使用spray-json 将对象转换为 json
我的想法是有一个通用控制器来完成所有的工作,所以我在中设置了以下路线conf/routes
:
..和以下控制器:
(是的,缺少创建/更新/删除,但让我们先阅读工作)
我已经通过扩展的 squeryl 将表映射到案例类Schema
:
我已经告诉 spray-json 我的案例类,所以它知道如何转换它们。
到目前为止一切顺利,只要我直接使用表实例,它实际上工作得很好。当我尝试生成代码时,问题就出现了,这样我最终得到了一个用于访问所有表的控制器:我遇到了一些无法编译的代码,我不确定下一步是什么。
这似乎是 spray-json 的类型问题,当我试图在我的getAll
函数中将对象列表转换为 json 时会发生这种问题。
这是我的一般尝试:
编译错误:
我猜这个问题可能是 json-library 需要在编译时知道我要扔给它的模型类型,但我不确定(注意List[_$2]
那个编译错误)。我已尝试对编译并返回结果的代码进行以下更改:
- 删除通用的表查找 (
MyDB.tables.find(.....).get
) 并改用特定的表实例,例如MyDB.accountsTable
. 证明 JSON 序列化工作。但是,这不是通用的,需要一个唯一的控制器和 db 中每个表的路由配置。 - 在调用 toJson 之前将对象列表从 db 查询转换为字符串。即:
toList.toJson
-->toList.toString.toJson
。证明表的通用查找有效但不是正确的 json 响应,因为它是字符串序列化的对象列表。
有人想吗?