json haskell hackage

Qué paquete Haskell para JSON



hackage (3)

Elegir por dependencias ajenas.

Si usa uno de los nuevos marcos web de Haskell, puede considerar usar la misma biblioteca json que el marco está usando. De las dependencias inversas parece que el emparejamiento es:

  • Yesod: JSONb
  • Happstack: RJson
  • A caballo: ???

Y muchos paquetes usan json .

Elegir por características

También puede elegir usar un paquete de acuerdo con sus características.

Considera usar JSONb si eres un usuario de ByteStrings. Utiliza AttoParsec en lugar del habitual Parsec, por lo que podría ser más rápido (pero mídalo primero).

RJson está haciendo algunos trucos inteligentes para serializar registros anidados automáticamente .

YAJL ofrece enlaces a yajl, un analizador rápido escrito en C. Pero tenga cuidado: el yajl original es BSD, pero Haskell YAJL es GPL-v3.

json es, probablemente, una opción segura.

Hay alrededor de una docena de paquetes JSON en Hackage for Haskell. ¿Cómo sé qué paquete debo usar? ¿Cómo obtengo una opinión popular?

¿Hay alguna estadística sobre qué paquete se está utilizando más, se ha descargado más, etc.?


Las otras respuestas son obsoletas, creo, hoy en día se acepta ampliamente, creo que la mejor biblioteca JSON y el estándar de facto en Haskell es Aeson:

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

El mantenedor es Brian O''Sullivan, conocido por su profundo conocimiento de Haskell y su trabajo orientado al desempeño; No hay duda de que es la elección correcta.

Además, Aeson ofrece una API muy buena, verifique este ejemplo .

Además, no sé por el pasado, pero hoy en día también Yesod usa Aeson:

http://hackage.haskell.org/packages/archive/yesod-json/1.1.0/doc/html/Yesod-Json.html "utilizando el paquete aeson"

http://www.yesodweb.com/book/json-web-service "Usaremos aeson para el análisis y procesamiento JSON"


Según esta lista , RJson se ha descargado con más frecuencia que json , pero json es, con mucho, el más utilizado por otras bibliotecas en Hackage, con 77 dependencias inversas (33 directas y 44 indirectas), en comparación con 5 para JSONb en segundo lugar.