Skip to content

djoezeke/myjson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸš€ MYJSON : Modern C/C++ JSON Library

Lightweight, modern, and easy-to-use C++ JSON serializer & deserializer.

license last-commit repo-top-language repo-language-count

Table of Contents

πŸ“ Overview

Myjson is a modern, lightweight JSON parsing and serialization library for C++. It provides an easy-to-use interface for working with JSON data, including parsing JSON strings, creating JSON objects, and serializing JSON objects to strings.It provides a simple, type-safe API for working with JSON data in C++ projects.

JSON Logo

Json [JavaScript Object Notation]

A lightweight data-interchange format.

More information about JSON can be obtained at here

πŸ“ Project Structure
Myjson/
β”œβ”€β”€ CMakeLists.txt
β”œβ”€β”€ LICENSE
β”œβ”€β”€ myjson.hpp
β”œβ”€β”€ myjson.cpp
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ test.c
β”‚   └── test.cpp
└── examples/
    β”œβ”€β”€ basic.c
    β”œβ”€β”€ basic.cpp
    └── sample.cpp

πŸš€ Getting Started

β˜‘οΈ Prerequisites

Please ensure your runtime environment meets the following requirements:

  • C++11 or newer compiler
  • CMake (for building examples/tests)

Myjson uses following software, tools and services:

  • CMake as a general build tool
  • (optional) Catch2 for unit and performance testing
  • (optional) Mkdocs to build web documentation
  • (optional) Doxygen to build code documentation

πŸ› οΈ Integration

  1. Clone the repository:

    git clone https://github.com/djoezeke/myjson.git
  2. Add to your project:

    • Copy myjson.hpp and myjson.cpp into your project.
    • Or add as a submodule and include in your build.
  3. Include in your code:

    #include "myjson.hpp"
  4. Compile:

    g++ my_source.cpp myjson.cpp -std=c++17 -o main

Support

πŸ€” If you have a question, please check if it is already answered in the FAQ or the Q&A section. If not, please ask a new question there.

πŸ““ If you want to learn more about how to use the library, check out the rest of the README, have a look at code examples, or browse through the help pages.

🚧 If you want to understand the API better, check out the API Reference. 🐞 If you found a bug, please check the FAQ if it is a known issue or the result of a design decision. Please also have a look at the issue list before you create a new issue. Please provide as much information as possible to help us understand and reproduce your issue.

🀝 Contributing

Contributing Guidelines
  1. Fork the Repository: Start by forking the project repository to your github account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/djoezeke/myjson
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to github: Push the changes to your forked repository.
    git push origin new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!

See the CONTRIBUTING.md file for detailed information.

Contributor Graph

πŸ™Œ Acknowledgments

We would like to express our gratitude to the following projects and individuals whose work made this project possible:

The open-source community for their invaluable libraries, tutorials, and support.

With thanks to:

Note

If you feel your work should be acknowledged here, please open an issue or pull request.

References

  • myxml : A C/C++ XML Library.
  • myyaml : A C/C++ YAML Library.
  • mytoml : A C/C++ TOML Library.

More Reading

πŸ“„ License

This project is protected under the MIT License.

About

Myjson - Simple and Fast Javascript Object Notation (JSON) Parser for Modern C/C++.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published