safe-json: Automatic JSON format versioning

[ json, library, mit ] [ Propose Tags ]

This library aims to make the updating of JSON formats or contents, while keeping backward compatibility, as painless as possible. The way this is achieved is through versioning and defined migration functions to migrate older (or newer) versions to the one used.

The library mainly consists of two classes:

  • SafeJSON a: Defines the version of a and if (and how) it is migratable.

  • Migrate a: Defines the data type (MigrateFrom a) that can be migrated to a and how to migrate from that type.

Using these two classes, JSON serialized data types will stay parsable, even after format changes.

For a more in-depth explanation and examples, please see the README at https://github.com/Vlix/safe-json#readme


[Skip to Readme]

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

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 1.0.0, 1.1.0, 1.1.1, 1.1.1.1, 1.1.2.0, 1.1.3.0, 1.1.3.1, 1.1.4.0, 1.2.0.0, 1.2.0.1
Change log ChangeLog.md
Dependencies aeson (>=1.4.1 && <1.6), base (>=4.9 && <5), bytestring (>=0.10.8.1 && <0.11), containers (>=0.5.7.1 && <0.7), dlist (>=0.8.0.3 && <2), hashable (>=1.2.6.1 && <1.4), scientific (>=0.3.5.2 && <0.4), tasty (>=0.11.3 && <1.5), tasty-hunit (>=0.9.2 && <0.11), tasty-quickcheck (>=0.8.4 && <0.11), text (>=1.2.3 && <1.3), time (>=1.6.0.1 && <1.10), unordered-containers (>=0.2.9 && <0.3), uuid-types (>=1.0.3 && <1.1), vector (>=0.12.0.1 && <0.13) [details]
License MIT
Copyright 2019 Felix Paulusma
Author Felix Paulusma
Maintainer felix.paulusma@gmail.com
Revised Revision 1 made by nideco at 2021-07-10T11:45:10Z
Category JSON
Home page https://github.com/Vlix/safe-json#readme
Bug tracker https://github.com/Vlix/safe-json/issues
Source repo head: git clone https://github.com/Vlix/safe-json
Uploaded by nideco at 2020-12-25T18:31:48Z
Distributions LTSHaskell:1.2.0.1, NixOS:1.2.0.1, Stackage:1.2.0.1
Downloads 2488 total (41 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2020-12-25 [all 1 reports]

Readme for safe-json-1.1.1.1

[back to package description]
Please see README at https://github.com/Vlix/safe-json#readme