https://bugzilla.redhat.com/show_bug.cgi?id=1973357
Bug ID: 1973357
Summary: Review Request: nlohmann-json - JSON for Modern C++
Product: Fedora
Version: rawhide
Hardware: All
OS: Linux
Status: NEW
Component: Package Review
Severity: medium
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected]
Target Milestone: ---
Classification: Fedora
Spec URL: https://www.cora.nwra.com/~orion/fedora/nlohmann-json.spec
SRPM URL:
https://www.cora.nwra.com/~orion/fedora/nlohmann-json-3.9.1-1.fc35.src.rpm
Description:
here are myriads of JSON libraries out there, and each may even have its
reason to exist. Our class had these design goals:
* 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. That's it. No library, no subproject, no dependencies, no complex
build system. 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 class 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.
Fedora Account System Username: orion
Scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=70310430
--
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam on the list, report it:
https://pagure.io/fedora-infrastructure