32

Hackage for Haskell 上有大约十几个 JSON 包。我怎么知道我应该使用哪个包?如何获得大众意见?

是否有关于哪个包使用最多、下载最多等的统计数据?

4

3 回答 3

29

我认为其他答案已经过时,今天它被广泛接受,我认为 Haskell 中最好的 JSON 库和事实上的标准是 Aeson:

http://hackage.haskell.org/package/aeson

维护者是 Brian O'Sullivan,他以对 Haskell 的深入了解和以性能为导向的工作而闻名;毫无疑问,这是正确的选择。

此外,Aeson 提供了一个非常好的 API,请查看这个示例

此外,我不知道过去,但现在 Yesod 也使用 Aeson:

http://hackage.haskell.org/packages/archive/yesod-json/1.1.0/doc/html/Yesod-Json.html “使用aeson包”

http://www.yesodweb.com/book/json-web-service “我们将使用 aeson 进行 JSON 解析和渲染”

于 2013-06-04T18:18:59.387 回答
7

由他人的依赖选择

如果您使用其中一种新的 Haskell Web 框架,您可以考虑使用与该框架相同的 json 库。从反向依赖来看,配对似乎是:

  • 是的:JSONb
  • 快乐堆栈:RJson
  • 骑马:???

并且很多包都使用json.

按功能选择

您也可以根据其功能选择使用包。

JSONb如果您是 ByteStrings 的用户,请考虑使用。它使用 AttoParsec 而不是通常的 Parsec,因此它可能更快(但先测量它)。

RJson正在做一些巧妙的技巧来自动序列化嵌套记录

YAJL提供与 yajl 的绑定,这是一个用 C 编写的快速解析器。但要小心:原始 yajl 是 BSD,但 Haskell YAJL 是 GPL-v3。

json可能是一个安全的选择。

于 2010-09-08T08:20:53.333 回答
6

根据这个列表RJson下载次数比 多json,但json到目前为止,Hackage 上其他库使用最多,有 77个反向依赖项(33 个直接依赖项和 44 个间接依赖项),其次是 5JSONb个。

于 2010-09-08T00:00:03.370 回答