How to use JSON to Haskell
- Paste a representative JSON sample, ideally one with all the optional fields filled in.
- Set the name of the root type, and decide whether you want helper code as well or types only.
- Copy the generated Haskell code into your project.
About JSON to Haskell
Writing model classes by hand for a big JSON payload is dull, and it is where typos creep in. Paste a sample here and the generator works out the structure: which fields exist, which are objects, which are arrays and what type each value has. The output is record types with Aeson ToJSON and FromJSON instances.
Record fields get a prefix based on the type name, since Haskell does not allow two records in a module to share field names. Everything runs in your browser, so your sample data stays on your machine.
Using the generated code
Use decode from Data.Aeson, for example decode text :: Maybe Root.
Optional fields use the Maybe type.