Hackage for Haskell上有大约十几个JSON包。我怎么知道应该使用哪个包?我如何得到一个流行的观点?
是否有关于哪个软件包使用最多,下载最多等的统计信息?
答案 0 :(得分:29)
其他答案已经过时我认为,今天它被广泛接受我认为最好的JSON库和Haskell中的事实标准是Aeson:
http://hackage.haskell.org/package/aeson
维护者是Brian O'Sullivan,因其对Haskell及其以绩效为导向的工作的深入了解而闻名;毫无疑问,这是正确的选择。
此外,Aeson提供了一个非常好的API,check this example。
另外,我不知道过去,但现在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解析和渲染”
答案 1 :(得分:7)
如果您使用其中一个新的Haskell Web框架,您可以考虑使用与框架使用的相同的json库。从反向依赖性看,配对似乎是:
JSONb
RJson
许多软件包使用json
。
您也可以根据其功能选择使用包。
如果您是ByteStrings的用户,请考虑使用JSONb
。它使用AttoParsec而不是通常的Parsec,所以它可能更快(但首先测量它)。
RJson
正在做一些聪明的技巧to serialize nested records automatically。
YAJL
提供了绑定到yajl,一个用C编写的快速解析器。但要小心:原来的yajl是BSD,但Haskell YAJL是GPL-v3。
json
可能是一个安全的选择。
答案 2 :(得分:6)
根据this list,RJson
的下载频率高于json
,但json
是Hackage上其他图书馆使用最多的{77} {{} 3}}(33直接和44间接),而第二次reverse dependencies为5。