ThorsSerializer icon indicating copy to clipboard operation
ThorsSerializer copied to clipboard

C++ Serialization library for JSON

ThorsSerializer

Support for

Build Status codecov.io
Code Review Code Review Code Review Code Review

Benchmark Results

Conformance mac linux
Performance max linux
For details see: JsonBenchmark

ThorStream

Yet another JSON/YAML/BSON serialization library for C++.

Unlike other libraries this one does not require you to build DOM of you object before serialization. Using a declarative C++ style you define what C++ classes (and members) you want to serialize "ThorSerializer" will generate the appropriate code automagically.

  • Objective
  • Simple Example
  • Bigger Example
  • PolyMorphic Example
  • Installing
  • Documentation Usage
  • Documentation Internal

HomeBrew

Can be installed via brew on Mac and Linux

brew install thors-serializer
  • Mac: https://formulae.brew.sh/formula/thors-serializer
  • Linux: https://formulae.brew.sh/formula-linux/thors-serializer

Header Only

To install header only version

git clone --single-branch --branch header-only https://github.com/Loki-Astari/ThorsSerializer.git

Version 2

I have deprecated the jsonImport() and jsonExport() functions. These have been replaced with jsonImporter() and jsonExporter() functions (though the original versions still exist but are marked [[deprecated]]). The main difference is that the new functions catch exceptions (by default) this makes the serialization work like normal C++ serialization and simply set the bad bit on the stream.

Contributors

Added the all-contributers bot to generate the table.


One Page