https://github.com/lecrisut/jsontype
C++ types for JSON-like datastructure
https://github.com/lecrisut/jsontype
cpp json
Last synced: about 2 months ago
JSON representation
C++ types for JSON-like datastructure
- Host: GitHub
- URL: https://github.com/lecrisut/jsontype
- Owner: LecrisUT
- License: mit
- Created: 2024-08-21T08:30:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-26T07:41:52.000Z (almost 2 years ago)
- Last Synced: 2025-10-23T15:44:08.686Z (9 months ago)
- Topics: cpp, json
- Language: CMake
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: Changelog.md
- License: LICENSE
Awesome Lists containing this project
README
# JsonType
[![CI Status][ci-badge]][ci-link]
[![Codecov Status][codecov-badge]][codecov-link]
[![Documentation Status][rtd-badge]][rtd-link]
![CMake Status][cmake-badge]
Minimalistic project wrapping C++ container library to provide generic datastructure compatible with JSON, YAML, TOML.
This project provides only the Json-like type structure and manipulations. Parsing, formatting, validation, are outside
the scope of this project.
## Motivation
There are [various projects][projects] that parse and manipulate JSON, YAML, TOML data. However, all of these projects
have different type structure for their data type, making it difficult to design Json schema validation that would
be compatible with all of these projects. Thus, the aim of this project is to define the bottom-most common layer of
the data-structure that these all have in common.
## Wrappers
Ideally all other projects would inherit and expand the datastructure provided here, but that would require a wide
adoption of this project and refactoring of their projects. In the meantime, there are wrappers provided that provide
implicit converters from the upstream's Json data structure to this project's.
## License
This template project is licensed under MIT license.
[projects]: https://en.cppreference.com/w/cpp/links/libs#Configuration
[ci-badge]: https://github.com/LecrisUT/JsonType/actions/workflows/ci.yaml/badge.svg?branch=main&event=push
[rtd-badge]: https://readthedocs.org/projects/jsontype/badge/?version=latest
[codecov-badge]: https://codecov.io/gh/LecrisUT/JsonType/graph/badge.svg?token=UNUC8YOUCE
[cmake-badge]: https://img.shields.io/badge/CMake-3.25-blue?logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMiIgdmlld0JveD0iMCAwIDU0NS41IDU0NS45Ij48cGF0aCBkPSJNNTQ2IDUzNCAyODIgOWwzOSA0MzQgMjI1IDkxeiIgZGF0YS1uYW1lPSJyZWQgcmlnaHQiIHN0eWxlPSJmaWxsOiNmMzI3MzU7c3Ryb2tlLXdpZHRoOjAiLz48cGF0aCBkPSJNNTI1IDU0NiAxNzAgNDAzIDEgNTQ2aDUyNHoiIGRhdGEtbmFtZT0iZ3JlZW4gYm90dG9tIiBzdHlsZT0ic3Ryb2tlLXdpZHRoOjA7ZmlsbDojM2VhZTJiIi8+PHBhdGggZD0iTTI2MyAwIDAgNTIybDI4OC0yNDRMMjYzIDB6IiBkYXRhLW5hbWU9ImJsdWUgbGVmdCIgc3R5bGU9ImZpbGw6IzAwNjhjNztzdHJva2Utd2lkdGg6MCIvPjxwYXRoIGQ9Im0yOTEgMjk5LTEwNSA4OSAxMTcgNDgtMTItMTM3eiIgZGF0YS1uYW1lPSJncmF5IGNlbnRlciIgc3R5bGU9ImZpbGw6I2RjZTNlYztzdHJva2Utd2lkdGg6MCIvPjwvc3ZnPg==
[ci-link]: https://github.com/LecrisUT/JsonType/actions?query=branch%3Amain+event%3Apush
[rtd-link]: https://jsontype.readthedocs.io/en/latest/?badge=latest
[codecov-link]: https://codecov.io/gh/LecrisUT/JsonType