QJson alternatives and similar libraries
Based on the "JSON" category.
Alternatively, view QJson alternatives based on common mentions on social networks and blogs.
-
simdjson
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks -
JSMN
Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket -
json-c
https://github.com/json-c/json-c is the official code repository for json-c. See the wiki for release tarballs for download. API docs at http://json-c.github.io/json-c/ -
frozen
JSON parser and generator for C/C++ with scanf/printf like interface. Targeting embedded systems. -
json_dto
A small header-only library for converting data between json representation and c++ structs -
Jsonifier
A few classes for extremely fast json parsing/serializing in modern C++. Possibly the fastest json parser in C++. Possibly the fastest json serializer in C++.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of QJson or a related project?
Popular Comparisons
README
QJson 
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It can represents integer, real number, string, an ordered sequence of value, and a collection of name/value pairs.
QJson is a qt-based library that maps JSON data to QVariant objects. JSON arrays will be mapped to QVariantList instances, while JSON's objects will be mapped to QVariantMap.
Install
QJson requires:
- Qt 4.5 or greater
- cmake 2.6 or greater
Some possible cmake options:
-DCMAKE_BUILD_TYPE=DEBUG
: enables some debug output (other than making easier to debug the code)-DQJSON_BUILD_TESTS=yes
or-DKDE4_BUILD_TESTS=yes
: builds the unit tests-DCMAKE_INSTALL_PREFIX=${HOME}/testinstall
: install qjson in a custom directory-DCMAKE_INCLUDE_PATH=${HOME}/testinstall/include
: include a custom include directory-DCMAKE_LIBRARY_PATH=${HOME}/testinstall/lib
: include a custom library directory-DLIB_DESTINATION=lib64
: if you have a 64 bit system with separate libraries for 64 bit libraries-DQJSON_VERBOSE_DEBUG_OUTPUT:BOOL=ON
: more debugging statements are generated by the parser. It's useful only if you are trying to fix the bison grammar.
For Unix/Linux/Mac:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=_preferred_path_ ..
make
make install
/sbin/ldconfig #if necessary
Contribute
The recommended way to submit your changes is via a pull request.
Before submitting a patch please ensure:
- Patched code compiles.
- The patch is fixing a specific issue or implementing a new feature (it’s not doing multiple things at the same time).
- QJson unit tests have been updated.
- QJson unit tests are passing.
Unit testing
QJson unit tests are located under the tests
directory. You can enable them
passing the -DQJSON_BUILD_TESTS=yes
option to cmake
.
Note well: make sure you followed the build instructions.
To run all the unit tests move into the build directory and type:
make tests
If you want to run the QJson::Parser
unit tests just type:
./test/parser/testparser
If you want to run the QJson::Serializer
unit tests just type:
./test/serializer/testserializer
If you want to run the QJson::QObjectHelper
tests just type:
./tests/qobjecthelper/testqobjecthelper
If you want to test the QJson parser against a specific JSON object you can
use the cmdline_tester
program.
This binary is located under the tests
directory and has a
straightforward syntax:
./tests/cmdline_tester/cmdline_tester text_file_containing_json_object
The command will convert the JSON object to a QVariant
and dump it to stdout.
More options are available via cli options, just checkout the --help
output.
Note well: cmdline_tester relies on qDebug()
to dump the object. qDebug
has some limitations, like being unable to print utf8 chars.
License
This library is licensed under the Lesser GNU General Public License version 2.1. See the COPYING.lib file for more information.
Resources
- Website
- Mailing List
- Project Lead/Maintainer (2008-current): Flavio Castelli.
*Note that all licence references and agreements mentioned in the QJson README section above
are relevant to that project's source code only.