textproc/nlohmann-json - The NetBSD Packages Collection

JSON library for Modern C++

JSON for Modern C++ is an open-source library consisting of a C++11-style
header-only JSON class.

Its stated goals are:
Intuitive syntax. In languages such as Python, JSON feels like a first class
data type. We used all the operator magic of modern C++ to achieve the same
feeling in your code.

Trivial integration. Our whole code consists of a single header file json.hpp.
The class is written in vanilla C++11. All in all, everything should require
no adjustment of your compiler flags or project settings.

Serious testing. Our code is heavily unit-tested and covers 100% of the code,
including all exceptional behavior. Furthermore, we checked with Valgrind and
the Clang Sanitizers that there are no memory leaks. Google OSS-Fuzz
additionally runs fuzz tests against all parsers 24/7, effectively executing
billions of tests so far. To maintain high quality, the project is following
the Core Infrastructure Initiative (CII) best practices.

Other aspects were not so important to us:
Memory efficiency. Each JSON object has an overhead of one pointer (the
maximal size of a union) and one enumeration element (1 byte). The default
generalization uses the following C++ data types: std::string for strings,
int64_t, uint64_t or double for numbers, std::map for objects, std::vector
for arrays, and bool for Booleans. However, you can template the generalized
class basic_json to your needs.

Speed. There are certainly faster JSON libraries out there. However, if your
goal is to speed up your development by adding JSON support with a single
header, then this library is the way to go. If you know how to use
a std::vector or std::map, you are already set.

Build dependencies

devel/cmake pkgtools/mktools pkgtools/cwrappers

Runtime dependencies

(none)

Binary packages

OSArchitectureVersion
NetBSD 10.0aarch64nlohmann-json-3.11.2.tgz
NetBSD 10.0aarch64nlohmann-json-3.11.2.tgz
NetBSD 10.0aarch64nlohmann-json-3.11.2.tgz
NetBSD 10.0aarch64ebnlohmann-json-3.11.2.tgz
NetBSD 10.0aarch64ebnlohmann-json-3.11.2.tgz
NetBSD 10.0aarch64ebnlohmann-json-3.11.2.tgz
NetBSD 10.0alphanlohmann-json-3.11.2.tgz
NetBSD 10.0earmv4nlohmann-json-3.11.2.tgz
NetBSD 10.0earmv4nlohmann-json-3.11.2.tgz
NetBSD 10.0earmv6hfnlohmann-json-3.11.2.tgz
NetBSD 10.0earmv6hfnlohmann-json-3.11.2.tgz
NetBSD 10.0earmv6hfnlohmann-json-3.11.2.tgz
NetBSD 10.0earmv7hfnlohmann-json-3.11.2.tgz
NetBSD 10.0earmv7hfnlohmann-json-3.11.2.tgz
NetBSD 10.0earmv7hfnlohmann-json-3.11.2.tgz
NetBSD 10.0i386nlohmann-json-3.11.2.tgz
NetBSD 10.0i386nlohmann-json-3.11.2.tgz
NetBSD 10.0powerpcnlohmann-json-3.11.2.tgz
NetBSD 10.0sparcnlohmann-json-3.11.2.tgz
NetBSD 10.0vaxnlohmann-json-3.11.2.tgz
NetBSD 10.0x86_64nlohmann-json-3.11.2.tgz
NetBSD 10.0x86_64nlohmann-json-3.11.2.tgz
NetBSD 8.0i386nlohmann-json-3.11.2.tgz
NetBSD 8.0powerpcnlohmann-json-3.11.2.tgz
NetBSD 8.0powerpcnlohmann-json-3.11.2.tgz
NetBSD 8.0x86_64nlohmann-json-3.11.2.tgz
NetBSD 8.0x86_64nlohmann-json-3.11.2.tgz
NetBSD 9.0aarch64nlohmann-json-3.11.2.tgz
NetBSD 9.0aarch64nlohmann-json-3.11.2.tgz
NetBSD 9.0aarch64nlohmann-json-3.11.2.tgz
NetBSD 9.0alphanlohmann-json-3.11.2.tgz
NetBSD 9.0alphanlohmann-json-3.11.2.tgz
NetBSD 9.0earmnlohmann-json-3.11.2.tgz
NetBSD 9.0earmv4nlohmann-json-3.11.2.tgz
NetBSD 9.0earmv4nlohmann-json-3.11.2.tgz
NetBSD 9.0earmv6hfnlohmann-json-3.11.2.tgz
NetBSD 9.0earmv6hfnlohmann-json-3.11.2.tgz
NetBSD 9.0earmv6hfnlohmann-json-3.11.2.tgz
NetBSD 9.0earmv7hfnlohmann-json-3.11.2.tgz
NetBSD 9.0earmv7hfnlohmann-json-3.11.2.tgz
NetBSD 9.0earmv7hfnlohmann-json-3.11.2.tgz
NetBSD 9.0i386nlohmann-json-3.11.2.tgz
NetBSD 9.0i386nlohmann-json-3.11.2.tgz
NetBSD 9.0m68knlohmann-json-3.11.2.tgz
NetBSD 9.0m68knlohmann-json-3.11.2.tgz
NetBSD 9.0mips64ebnlohmann-json-3.11.2.tgz
NetBSD 9.0powerpcnlohmann-json-3.11.2.tgz
NetBSD 9.0powerpcnlohmann-json-3.11.2.tgz
NetBSD 9.0sh3elnlohmann-json-3.11.2.tgz
NetBSD 9.0sparc64nlohmann-json-3.11.2.tgz
NetBSD 9.0sparcnlohmann-json-3.11.2.tgz
NetBSD 9.0sparcnlohmann-json-3.11.2.tgz
NetBSD 9.0vaxnlohmann-json-3.11.2.tgz
NetBSD 9.0x86_64nlohmann-json-3.11.2.tgz
NetBSD 9.0x86_64nlohmann-json-3.11.2.tgz
NetBSD 9.3x86_64nlohmann-json-3.11.2.tgz

Binary packages can be installed with the high-level tool pkgin (which can be installed with pkg_add) or pkg_add(1) (installed by default). The NetBSD packages collection is also designed to permit easy installation from source.

Available build options

tests
Build and install tests.

Known vulnerabilities

The pkg_admin audit command locates any installed package which has been mentioned in security advisories as having vulnerabilities.

Please note the vulnerabilities database might not be fully accurate, and not every bug is exploitable with every configuration.


Problem reports, updates or suggestions for this package should be reported with send-pr.