Scala中快速结构化的数据到文本:JSON或XML,以及哪些?

时间:2013-03-21 15:22:44

标签: xml json scala serialization

我有大量的数据,一旦轻微处理,我想以一种边缘可读的ASCII格式存储。由于数据量大,输入和输出的速度对我来说非常重要。 (大多数数据都是数组中的Float数据,但也会有一些简单的数据结构和简短的描述性文本字符串.Unicode支持并不重要。)

除了滚动我自己的特殊格式之外,我在Scala中的最佳选项似乎是某种XML或JSON格式。我的主要考虑因素是:

  1. 速度 - 应该足够快,以免这不是处理的瓶颈
  2. 占地面积小 - 如果可能,我不想添加巨大的依赖
  3. 直截了当 - 我会要求简单的操作;我不想花很长时间配置或按摩数据或任何东西;只是数据输出,数据输入。(我很高兴将解析后的数据打包到我自己的数据结构中;它不用担心。)
  4. 哪个图书馆最符合这些标准?

1 个答案:

答案 0 :(得分:1)

Jackson对我来说是一个快速且易于使用的库。您可以将文本解析为JSON AST,也可以将数据映射到特定于模型的数据结构 - see here更多示例。当然,它还支持将数据序列化为JSON

你可以通过两种方式使杰克逊斯卡拉友好AFAIK:

  • 使用此处的Scala模块:Jackson Scala Module。这会将JSON数据映射到Scala特定的数据结构(自动处理案例类,将空值转换为选项等)。

  • 使用Jerkson - 这是一个超过杰克逊的包装库。它还用于在Play Framework中处理JSON

就个人而言,我使用Jackson和Scala模块将我的case类序列化/反序列化为JSON,结果非常好 - 所以我绝对推荐它。