问题标签 [jerkson]

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 回答
3786 浏览

json - 使用 Jerkson 将 JSON 反序列化为用户定义的案例类

我遇到了这个关于使用 Jerkson 在 Scala 中处理 JSON 的优秀教程。特别是,我对将 JSON 反序列化为用户定义的案例类感兴趣。文章有一个简单的例子

我运行它时遇到此错误,我在 Play 2.0.1、Scala 2.9.1-1、Jerkson 0.5.0 上。

在 Google Groups 上也找到了这个,但它没有帮助。

有任何想法吗?

0 投票
1 回答
2395 浏览

scala - 杰克森。将映射序列化为 JsValue

我正在使用带有 playframework 2 的内置 jerson,我想要的只是序列化包含不同类型值的地图:

在这种情况下,我有:

通过框架代码导航显示 Map[String,V] 类型隐式 def mapWrites[V] .. 的序列化程序,但我不明白为什么它不适用。

有谁能够帮助我?

UPD:我找到了简单的解决方法:

}

但这不是那么优雅......

0 投票
2 回答
2819 浏览

json - 在 Scala 中扫描一个巨大的 JSON 文件以获取可反序列化的数据

我需要能够处理大型 JSON 文件,在我们在文件中迭代/流式传输时从可反序列化的子字符串中实例化对象。

例如:

假设我只能反序列化为以下实例:

并且预期的 JSON 格式是:

想做的是:

最后一点,我希望找到一个涉及 Jerkson 或 Play 框架附带的任何其他库的解决方案,但是如果另一个 Scala 库可以更轻松地处理这种情况并获得良好的性能:我不反对尝试另一个库. 如果有一种手动搜索文件然后使用 Json 库从那里继续解析的干净方法:我很好。

不想做的是在没有流式传输或使用迭代器的情况下摄取整个文件,因为一次将整个文件保存在内存中会非常昂贵。

0 投票
1 回答
1327 浏览

scala - 使用 Jackson 时在 Spray.io 中找不到隐式 Marshaller

我有一个处理 POST 的 Spray.io 指令,我想使用 Jerkson(Jackson 的 scala 接口)将传入的 JSON 解析为适当的类。

问题是当我去编译时,Spray 去寻找一个 Marshaller:

我需要为此编写一个自定义的 Marhsaller 吗?还是我的指令写得不正确?如果我确实需要一个,那里有什么好的例子吗?

谢谢!

0 投票
2 回答
166 浏览

scala - 带有附加参数的scala定义类

我正在使用一个案例类,它在其他参数中是用 BigInt 十六进制值实例化的。我使用这个案例类通过 Jerkson/Jackson 反序列化 JSON 消息。使用 Jackson 的美妙之处在于,反序列化可以根据案例类的签名(我猜)开箱即用。

现在,一个十六进制编码的 BigInt 值需要用一个额外的基数参数来实例化:BigInt(hexValue, 16)。但是我的 JSON 消息不包含这样的参数。我正在寻找一种解决方案来在我的案例类的定义中定义这个基数,以便杰克逊能够继续使用该类而无需配置。就像是:

我知道替代方法是 a) 明确定义 JSON 反序列化或 b) 围绕 BigInt 定义我自己的包装类。但是,我正在寻找一个更优雅和“scala-ish”的解决方案——如果有的话。

注意:Int 是不够的,它必须是 BigInt。

0 投票
1 回答
91 浏览

java - 有没有办法用杰克逊松散地解析 JSON?

例如,如果

被传递到解析器,我希望它被视为相同:

0 投票
1 回答
1885 浏览

json - 使用 Jerkson 时维护 JSON 中前导和尾随引号的字符串

有问题的JSON:

}

检索数据的代码:

仅打印 json JsValue 按预期打印出整个 JSON。打印出第一项产生:“”| “酒吧、俱乐部”

为什么要维护 JSON 格式的引号?这不是字符串的一部分,它基本上是说引号内的内容是一个字符串。我该如何解决?

0 投票
1 回答
191 浏览

json - 在 scala 中使用 jerkson 获取列表列表

我有以下内容,并想在 scala 中使用 jerkson,但对此有疑问。我确信这是一个非常业余的错误,但希望能从这里得到一些帮助。

一切都无济于事。如果有人能指出我正确的方向,我将不胜感激

0 投票
2 回答
464 浏览

scala - Scala 2.10 中的 Json 序列化

在 Play 2.1 和 Scala 2.10 之前,我使用了 Jerkson。

不幸的是,还没有正式发布的与 Scala 2.10 兼容的 Jerkson 版本。

我自从将 Jackson 与 Scala 模块一起使用以来,但我没有 Enumerations 所需的行为。

我正在尝试使用 Play 2.1 Reads、Writes 和 Format,使用宏 inception 但它似乎真的很痛苦,我需要在我的模型中添加样板文件,以便 inception 工作:

然后我可以使用 implicit val userFormat: Format[User] = Json.format[User]

而且我仍然不能动态序列化一个Object,而只是一个User

我没有看过 Lift,但它似乎添加了与 Play2.1 Json 库一样多的样板代码。


我认为序列化在任何语言中都应该很容易。我不想编写自定义序列化程序或自定义解析器。

我希望该库可以使用这样的代码:

这就是 Java 中 Gson、Jackson 和其他类似工具提供的功能。


所以对于 Scala 2.10,我不知道该使用哪个工具。而且我不明白为什么我们需要为这种简单的情况构建自定义序列化程序。也许 Play2.1 Json 更快,因为它是基于宏的,但是如果没有提供的格式,它是否有可能使用反射或其他东西?

您知道任何适合我用例的冷却工具吗?

0 投票
3 回答
1791 浏览

scala - scala.runtime.BoxedUnit 的 Jerkson (Jackson) 问题?

Jerkson 开始抛出一个我以前从未见过的非常奇怪的错误。

com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class scala.runtime.BoxedUnit and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain: scala.collection.MapWrapper["data"])

我正在从 API 解析一些基本数据。我定义的类是:

看起来Data像:

任何线索为什么这会触发错误?似乎是 Jerkson 可以处理的简单类。

编辑:样本数据: