aeson-utils: Utilities for working with Aeson.

[ bsd3, data, library ] [ Propose Tags ]

Utilities for working with Aeson.


[Skip to Readme]
Versions [faq] 0.2.1, 0.2.1.1, 0.2.2.0, 0.2.2.1, 0.3, 0.3.0.1, 0.3.0.2
Change log CHANGELOG.md
Dependencies aeson (>=0.6 && <0.9), attoparsec (>=0.10 && <0.13), base (==4.*), bytestring (>=0.9 && <0.11), scientific (>=0.3.2 && <0.4), text (>=0.11 && <1.3) [details]
License BSD-3-Clause
Copyright 2014, Silk B.V
Author Silk. B.V.
Maintainer code@silk.co
Revised Revision 2 made by AdamBergmark at Thu Sep 11 13:09:57 UTC 2014
Category Data
Source repo head: git clone https://github.com/silkapp/aeson-utils.git
Uploaded by AdamBergmark at Sun Jun 1 16:58:49 UTC 2014
Distributions LTSHaskell:0.3.0.2, NixOS:0.3.0.2, Stackage:0.3.0.2
Downloads 6099 total (68 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Successful builds reported [all 1 reports]

Modules

[Index]

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'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for aeson-utils-0.2.2.1

[back to package description]

aeson-utils

Build Status

A small package containing helpful addititions to aeson.

It provides eitherDecodeV and decodeV functions (analogous to eitherDecode and decode in aeson) that can be used to parse atomic JSON values at the top level. This is not strictly valid JSON, only objects and arrays are allowed at the top level in the specification, but aeson's encode allows this already. This gives us the nice property decodeV . encode = Just.

The package also contains the .=? operator that you can use to optionally construct object pairs:

object (
  [ "a" .= foo
  , "b" .= bar
  ] ++ catMaybes
  [ "c" .=? mBaz
  , "d" .=? mQux
  ])

Finally it has a parseNumber function that converts a scientific into Either Integer Double in case you want to distinguish between integrals and fractionals.

Installation instructions

aeson-utils is available on hackage

cabal install aeson-utils