[Haskell-cafe] [ANN]json-autotype: Tool generating JSON parsers and type declarations from example documents...

Roman Cheplyaka roma at ro-che.info
Mon Nov 3 21:35:44 UTC 2014


Hi Michal,

Sounds interesting. Can you show (and include in the README) some
examples of recognized json inputs and code generated for them?

On 03/11/14 18:59, Michal J Gajda wrote:
> Dear Fellow Haskellers,
> 
> I've just published a beta version of a tool facilitating generation of
> Haskell type declarations from example JSON documents. It is supposed to
> simplify implementing large JSON-based interfaces, without necessity of
> writing any boilerplate code.
> 
> USAGE:
> ======
> After installing with `cabal install json-autotype`, you might generate
> stub code for the parser:
> 
> $   json-autotype input.json -o MyFormat.hs
> 
> Then you might test the parser by running it on an input file:
> 
> $  runghc MyFormat.hs input.json
> 
> If everything is correct, then feel free to inspect the data structure
> generated automatically for you!
> The goal of this program is to make it easy for users of big JSON APIs to
> generate entries from
> example data.
> 
> Occasionally you might find a valid JSON for which `json-autotype` doesn't
> generate a correct parser.
> You may either edit the resulting file _and_ send it to the author as a
> test case for future release.
> 
> HOW IT WORKS:
> ==============
> The program uses union type unification to trim output declarations. The
> types of same attribute tag and similar attribute set, are automatically
> unified using recognition by attribute set matching. (This option can be
> optionally turned off, or a set of unified types may be given explicitly.)
> Either alternatives is used to assure that all JSON inputs seen in example
> input file are handled correctly.
> 
> Details on official releases are on Hackage [1]
> 
> 1. https://hackage.haskell.org/package/json-autotype
> 
> Patches and suggestions are most welcome.
> 
> 
> 
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 



More information about the Haskell-Cafe mailing list