我有大量数据,经过简单处理后,我想以可读性差的 ASCII 格式存储这些数据。由于数据量大,输入输出的速度对我来说极其重要。 (其中大部分是数组中的 Float
数据,但也会有一些简单的数据结构和简短的描述性文本字符串。Unicode 支持并不重要。)
除了滚动我自己的特殊格式之外,我在 Scala 中的最佳选择似乎是某种 XML 或 JSON 格式。我的主要考虑因素是:
- 速度——应该足够快,这样这就不是处理中的瓶颈
- 占用空间小——如果可能,我不想添加巨大的依赖项
- 直截了当——我将要求简单的操作;我不想花很长时间配置或处理数据或任何东西;只是数据输出,数据输入。(我很高兴将解析后的数据打包到我自己的数据结构中;它不必为此担心。)
哪个图书馆最符合这些标准?
最佳答案
Jackson对我来说是一个快速且易于使用的库。您可以将文本解析为 JSON AST 或将数据映射到特定于模型的数据结构 - see here更多例子。当然,它也支持将你的数据序列化为JSON
您可以通过两种方式让 Jackson Scala 变得友好 AFAIK:
使用在这里找到的 Scala 模块:Jackson Scala Module .这会将 JSON 数据映射到 Scala 特定的数据结构(自动处理案例类、将空值转换为选项等)
使用 Jerkson - 这是 Jackson 的包装库。它还用于处理 Play Framework 中的 JSON
就个人而言,我使用 Jackson 和 Scala 模块将我的案例类序列化/反序列化为 JSON,结果非常好 - 所以我绝对推荐它。
关于xml - Scala : JSON or XML, 和哪个中的快速结构化数据到文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15551551/