首页 文章

哪个Haskell包用于JSON

提问于
浏览
31

Hackage for Haskell上有大约十几个JSON包 . 我如何知道应该使用哪个包?我如何得到一个流行的意见?

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

3 回答

  • 7

    其他答案已经过时我认为,今天它被广泛接受我认为最好的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"

  • 6

    选择他人的依赖关系

    如果您使用其中一个新的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 可能是一个安全的选择 .

  • 28

    根据this listRJson的下载频率高于json,但 json 是迄今为止Hackage上其他库使用最多的,其中77 reverse dependencies(33直接和44间接),而JSONb则为5秒 .

相关问题