Skip to content

AndrewRademacher/aeson-casing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aeson-casing

Tools to change the formatting of field names in Aeson instances.

The casing utilities allow you to specify how Aeson renders and parses the field names in JSON messages. Snake, Camel, and Pascal case are all supported. To include casing modifiers in Aeson, attach options to instances of ToJSON and FromJSON.

data Person = Person
    { personFirstName :: Text
    , personLastName  :: Text
    } deriving (Generic)

instance ToJSON Person where
    toJSON = genericToJSON $ aesonPrefix snakeCase
instance FromJSON Person where
    parseJSON = genericParseJSON $ aesonPrefix snakeCase

The above code will produce JSON messages like the following...

{
    "first_name": "John",
    "last_name": "Doe"
}

About

Tools to change the formatting of field names in Aeson instances.

Resources

License

Stars

Watchers

Forks

Packages

No packages published