aeson: Fast JSON parsing and encoding
A JSON parsing and encoding library optimized for ease of use and high performance.
To get started, see the documentation for the Data.Aeson
module
below.
Parsing performance on an early 2011 MacBook Pro (2.2GHz Core i7), running 64-bit GHC 7.6.3, for mostly-English tweets from Twitter's JSON search API:
0.8 KB: 34124 msg/sec (27.8 MB/sec)
6.4 KB: 6833 msg/sec (43.0 MB/sec)
11.8 KB: 3410 msg/sec (39.2 MB/sec)
31.2 KB: 1157 msg/sec (35.3 MB/sec)
61.5 KB: 542 msg/sec (32.5 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: 2101 msg/sec (30.0 MB/sec)
44.1 KB: 667 msg/sec (28.7 MB/sec)
82.9 KB: 360 msg/sec (29.2 MB/sec)
Encoding performance on the same machine and data:
English, 0.8 KB: 109697 msg/sec (89.3 MB/sec)
English, 6.4 KB: 18517 msg/sec (116.4 MB/sec)
Engish, 61.5 KB: 1963 msg/sec (118.0 MB/sec)
Japanese, 14.6 KB: 12140 msg/sec (173.5 MB/sec)
Japanese, 44.1 KB: 3980 msg/sec (171.3 MB/sec)
(A note on naming: in Greek mythology, Aeson was the father of Jason.)
[Skip to Readme]
Modules
[Index]
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
developer | operate in developer mode | Disabled |
blaze-builder | Use blaze-builder instead of bytestring >= 0.10 | Disabled |
new-bytestring-builder | Use the new bytestring builder available in bytestring >= 0.10.4.0 | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- aeson-0.7.0.4.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
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'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates