aeson: Fast JSON parsing and generation

[ bsd3, json, library, text, web ] [ Propose Tags ] [ Report a vulnerability ]

A JSON parsing and generation library optimized for ease of use and high performance.

Parsing performance with GHC 6.12.3 on a late 2010 MacBook Pro (2.66GHz Core i7), for mostly-English tweets from Twitter's JSON search API:

  • 854 bytes: 21054 msg/sec (17.1 MB/sec)

  • 6.4 KB: 4545 msg/sec (28.6 MB/sec)

  • 31.2 KB: 856 msg/sec (26.1 MB/sec)

  • 61.5 KB: 403 msg/sec (24.2 MB/sec)

Handling heavily-escaped text is a little more work. Here is parsing performance with Japanese tweets, where much of the text is entirely Unicode-escaped:

  • 14.6 KB: 1250 msg/sec (17.9 MB/sec)

  • 44.1 KB: 363 msg/sec (15.6 MB/sec)

Encoding performance on the same machine and data:

  • 854 bytes: 10647 msg/sec (8.7 MB/sec)

  • 6.4 KB: 2098 msg/sec (13.2 MB/sec)

  • 31.2 KB: 422 msg/sec (12.9 MB/sec)

  • 61.5 KB: 219 msg/sec (13.2 MB/sec)

(A note on naming: in Greek mythology, Aeson was the father of Jason.)


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
developer

operate in developer mode

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Versions [RSS] 0.1.0.0, 0.2.0.0, 0.3.0.0, 0.3.1.0, 0.3.1.1, 0.3.2.0, 0.3.2.1, 0.3.2.2, 0.3.2.3, 0.3.2.4, 0.3.2.5, 0.3.2.6, 0.3.2.7, 0.3.2.8, 0.3.2.9, 0.3.2.10, 0.3.2.11, 0.3.2.12, 0.3.2.13, 0.3.2.14, 0.4.0.0, 0.4.0.1, 0.5.0.0, 0.6.0.0, 0.6.0.1, 0.6.0.2, 0.6.1.0, 0.6.2.0, 0.6.2.1, 0.7.0.0, 0.7.0.1, 0.7.0.2, 0.7.0.3, 0.7.0.4, 0.7.0.5, 0.7.0.6, 0.8.0.0, 0.8.0.1, 0.8.0.2, 0.8.1.0, 0.8.1.1, 0.9.0.0, 0.9.0.1, 0.10.0.0, 0.11.0.0, 0.11.1.0, 0.11.1.1, 0.11.1.2, 0.11.1.3, 0.11.1.4, 0.11.2.0, 0.11.2.1, 0.11.3.0, 1.0.0.0, 1.0.1.0, 1.0.2.0, 1.0.2.1, 1.1.0.0, 1.1.1.0, 1.1.2.0, 1.2.0.0, 1.2.1.0, 1.2.2.0, 1.2.3.0, 1.2.4.0, 1.3.0.0, 1.3.1.0, 1.3.1.1, 1.4.0.0, 1.4.1.0, 1.4.2.0, 1.4.3.0, 1.4.4.0, 1.4.5.0, 1.4.6.0, 1.4.7.0, 1.4.7.1, 1.5.0.0, 1.5.1.0, 1.5.2.0, 1.5.3.0, 1.5.4.0, 1.5.4.1, 1.5.5.0, 1.5.5.1, 1.5.6.0, 2.0.0.0, 2.0.1.0, 2.0.2.0, 2.0.3.0, 2.1.0.0, 2.1.1.0, 2.1.2.0, 2.1.2.1, 2.2.0.0, 2.2.1.0, 2.2.2.0, 2.2.3.0 (info)
Dependencies attoparsec (>=0.8.5.0), base (>=4 && <4.4), blaze-builder (>=0.2.1.4), bytestring, containers, deepseq (<1.2), monads-fd, old-locale, syb, text (>=0.11.0.2), time (<1.5), vector (>=0.7) [details]
Tested with ghc ==6.12.3
License BSD-3-Clause
Copyright Copyright 2011 MailRank, Inc.
Author Bryan O'Sullivan <bos@mailrank.com>
Maintainer Bryan O'Sullivan <bos@mailrank.com>
Revised Revision 4 made by phadej at 2015-11-11T13:37:24Z
Category Text, Web, JSON
Home page http://github.com/mailrank/aeson
Bug tracker http://github.com/mailrank/aeson/issues
Source repo head: git clone http://github.com/mailrank/aeson
head: hg clone http://bitbucket.org/bos/aeson
Uploaded by BryanOSullivan at 2011-02-25T18:27:42Z
Distributions Arch:2.1.2.1, Debian:1.4.7.1, Fedora:2.1.2.1, FreeBSD:0.8.0.2, LTSHaskell:2.1.2.1, NixOS:2.1.2.1, Stackage:2.2.3.0, openSUSE:2.2.3.0
Reverse Dependencies 2340 direct, 5565 indirect [details]
Downloads 595461 total (1216 in the last 30 days)
Rating 3.0 (votes: 42) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for aeson-0.2.0.0

[back to package description]

Welcome to aeson

aeson is a fast Haskell library for working with JSON data.

Join in!

We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

  • git clone git://github.com/mailrank/aeson.git

There's also a Mercurial mirror:

  • hg clone http://bitbucket.org/bos/aeson

(You can create and contribute changes using either git or Mercurial.)

Authors

This library is written and maintained by Bryan O'Sullivan, bos@mailrank.com.