Hackage for Haskell上有大约十几个JSON包 . 我如何知道应该使用哪个包?我如何得到一个流行的意见?
是否有关于哪个包使用最多,下载最多等的统计数据?
其他答案已经过时我认为,今天它被广泛接受我认为最好的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 "using the aeson package"
http://www.yesodweb.com/book/json-web-service "We'll be using aeson for JSON parsing and rendering"
如果您使用其中一个新的Haskell Web框架,您可以考虑使用与框架使用相同的json库 . 从反向依赖性看,配对似乎是:
Yesod: JSONb
JSONb
Happstack: RJson
RJson
On-a-Horse:???
许多软件包使用 json .
json
您也可以根据其功能选择使用包 .
如果您是ByteStrings的用户,请考虑使用 JSONb . 它使用AttoParsec而不是通常的Parsec,所以它可能更快(但首先测量它) .
RJson 正在做一些聪明的伎俩to serialize nested records automatically .
YAJL 提供了绑定到yajl,一个用C编写的快速解析器 . 但要小心:原始的yajl是BSD,但Haskell YAJL是GPL-v3 .
YAJL
json 可能是一个安全的选择 .
根据this list,RJson的下载频率高于json,但 json 是迄今为止Hackage上其他库使用最多的,其中77 reverse dependencies(33直接和44间接),而JSONb则为5秒 .
3 回答
其他答案已经过时我认为,今天它被广泛接受我认为最好的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 "using the aeson package"
http://www.yesodweb.com/book/json-web-service "We'll be using aeson for JSON parsing and rendering"
选择他人的依赖关系
如果您使用其中一个新的Haskell Web框架,您可以考虑使用与框架使用相同的json库 . 从反向依赖性看,配对似乎是:
Yesod:
JSONb
Happstack:
RJson
On-a-Horse:???
许多软件包使用
json
.按功能选择
您也可以根据其功能选择使用包 .
如果您是ByteStrings的用户,请考虑使用
JSONb
. 它使用AttoParsec而不是通常的Parsec,所以它可能更快(但首先测量它) .RJson
正在做一些聪明的伎俩to serialize nested records automatically .YAJL
提供了绑定到yajl,一个用C编写的快速解析器 . 但要小心:原始的yajl是BSD,但Haskell YAJL是GPL-v3 .json
可能是一个安全的选择 .根据this list,RJson的下载频率高于json,但
json
是迄今为止Hackage上其他库使用最多的,其中77 reverse dependencies(33直接和44间接),而JSONb则为5秒 .