Hackage for Haskell 上有大约十几个 JSON 包。我怎么知道我应该使用哪个包?如何获得大众意见?
是否有关于哪个包使用最多、下载最多等的统计数据?
我认为其他答案已经过时,今天它被广泛接受,我认为 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 解析和渲染”
如果您使用其中一种新的 Haskell Web 框架,您可以考虑使用与该框架相同的 json 库。从反向依赖来看,配对似乎是:
JSONb
RJson
并且很多包都使用json
.
您也可以根据其功能选择使用包。
JSONb
如果您是 ByteStrings 的用户,请考虑使用。它使用 AttoParsec 而不是通常的 Parsec,因此它可能更快(但先测量它)。
RJson
正在做一些巧妙的技巧来自动序列化嵌套记录。
YAJL
提供与 yajl 的绑定,这是一个用 C 编写的快速解析器。但要小心:原始 yajl 是 BSD,但 Haskell YAJL 是 GPL-v3。
json
可能是一个安全的选择。