JSON to YAML Adapter

Version on this page:
LTS Haskell 22.29:
Stackage Nightly 2024-07-19:
Latest on Hackage:

See all snapshots HsYAML-aeson appears in

GPL-2.0-or-later licensed by Herbert Valerio Riedel
Maintained by [email protected], Andreas Abel
This version can be pinned in stack with:HsYAML-aeson-,2576

Module documentation for

The YAML 1.2 format provides a much richer data-model and feature-set than the JavaScript Object Notation (JSON) format. However, sometimes it's desirable to ignore the extra capabilities and treat YAML as if it was merely a more convenient markup format for humans to write JSON data. To this end this module provides a compatibility layer atop HsYAML which allows decoding YAML documents in the more limited JSON data-model while also providing convenience by reusing aeson's FromJSON instances for decoding the YAML data into native Haskell data types.


See also http://pvp.haskell.org/faq

  • Allow aeson-2.0 and bytestring-0.11.
  • Build tested with GHC 7.4 – 9.0.

This release incorporates the work from Vijay Tadikamalla’s GSOC 2019 Project.

  • Breaking change: The result types of decode1, decode1', decodeValue, and decodeValue' have been changed from Either String _ to Either (Pos,String) _ to mirror the error-reporting change in the HsYAML-0.2 API
  • New functions encode1, encode1Strict, encodeValue, and encodeValue' for serializing JSON Values as YAML documents
  • New convenience function decode1Strict
  • New (orphan) instance ToYAML Data.Aeson.Value

  • First release. Released on an unsuspecting world.