Path to this page:
./
textproc/nlohmann-json,
JSON library for Modern C++
Branch: CURRENT,
Version: 3.12.0nb1,
Package name: nlohmann-json-3.12.0nb1,
Maintainer: pkgsrc-usersJSON for Modern C++ is an open-source library consisting of a
C++11-style header-only JSON class.
Its stated goals are:
* Intuitive syntax
* Trivial integration
* Serious testing
Other aspects were not so important to us:
* Memory efficiency
* Speed
Master sites:
Filesize: 9451.751 KB
Version history: (Expand)
- (2025-04-27) Updated to version: nlohmann-json-3.12.0nb1
- (2025-04-23) Updated to version: nlohmann-json-3.12.0
- (2024-06-17) Updated to version: nlohmann-json-3.11.3
- (2022-12-29) Package added to pkgsrc.se, version nlohmann-json-3.11.2 (created)
CVS history: (Expand)
2025-04-27 22:07:25 by Thomas Klausner | Files touched by this commit (8) |
Log message:
nlohmann-json: add post-release patches from upstream
Fixes build of openrct2.
Bump PKGREVISION.
|
2025-04-20 21:26:11 by Thomas Klausner | Files touched by this commit (4) |  |
Log message:
nlohmann-json: update to 3.12.0.
- Impossible de read json file create with nlohmann::ordered\_json::dump
- Error C2039 : 'json\_sax\_dom\_callback\_parser': is not a member of \
'nlohmann::json\_abi\_v3\_11\_3::detail'
- `json_fwd.hpp` don't define default template arguments for ordered\_map
- new repo version seems stop create any the ingress-nginx controller with \
opentelemetry-cpp.git
- Error converting to/from scoped enumerations
- Default initialized iterators are not comparable
- Bug json.exception.type\_error.302
- tests fail to build with clang-19 and libc++ due to unsupported `std::char_traits`
- Brace-Initialization Fails with json::parse and Key Access on Linux
- Crash when parsing nullptr
- Namespace macros are not respected in many instances
- ohos model to json string garbage characters
- Missing newlines in deserialized string
- Latest tag not available on NuGet
- Invalid union access for get\_ref/get\_ptr with unsigned integer
- /accesswallet
- struct reflect json with error C2440
- Compiler error when using macro NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE
- Issue when dumping a vector of derived classes
- whit std::wstring compile error
- Inconsisten operator\[\]
- json parse enclosing json object with \[\]
- \[bug\] nlohmann::json constructor behaves improperly
- parse OOM
- Library Cannot Parse JSON File It Wrote
- Unexpected Integer Conversion of JSON Values on ARM64
- Structure declared in natvis file template doesn't seem to match current \
structure of `basic_json<>`
- A lot of EOT in json file
- CVE-2024-34062
- CVE-2024-39689
- CVE-2024-5569
- CVE-2024-37891
- Tornado vulnerabilities
- CVE-2024-35195
- CVE-2024-22195, CVE-2024-34064
- CVE-2024-3651
- CVE-2024-22190
- CVE-2024-39705
- Failing to read complex Unicode string embedded in JSON
- Unable to parse JSON string from snake case to camel case
- Crashes when I try to use ‘json::at\(\)’ on a properly structured, non \
null, and correctly constructed ‘.json’ file
- JSON\_BuildTests fail when JSON\_DisableEnumSerialization is set to ON
- JSON can't parse a simple data
- json.exception.type\_error.302
- iteration\_proxy has limited usefulness in C++20 range views
- Clone is long due to large history
- Can't use nlohmann on Linux
- CodeQL suppressions lack justification
- \[json.exception.parse\_error.101\] parse error at line 1, column 4520: syntax \
error while parsing value - invalid string: forbidden character after backslash; \
last read: '".\?
- Cannot unflatten json object
- Json parsed from raw string does not interpret lists of objects like json \
parsed from file
- natvis not updated to 3.11.3
- Wrong function name in documentation example
- git ref got interpreted as number
- Is float valid number been limited?
- Crash when construct a new json object
- gdb-pretty-print broken since m\_data added
- Docs have incorrect info for `update()`
- CBOR data cannot be decoded
- Inconsistent behaviour of json construction using `std::initializer_list`
- Assertion failed when accessing non-existing object with const json object
- Validatable release artifacts are not sufficient for packaging \(trying to run \
tests\)
- ordered json pointer corruption
- Incorrect floating point parsing
- Segfault on parse when using "\#pragma pack \(push, 1\)"
- Simple example with nlohmann::ordered\_json doesn't compile
- Program crashes with ordered\_json, but works fine with json
- JSON parses as array when assigned in initializer list.
- Can't run `make amalgamate`
- Parsing the unicode string got the wrong result
- Issue with including \<version\>
- Exception when trying to insert my json object inside json file
- `to_json` is erroneously converting enums with underlying unsigned types to \
signed numbers
- Build failure on macOS Sonoma 14.1.1
- Deprecation warning on save action in check-amalgamation CI step
- 3.11.3: test suite fails in 4 units
- Exception thrown when dumping utf-8 characters when using std::string
- patch\_inplace assumes StringType is std::string
- Getting a weak-vtables warning with clang on ubuntu 22.04
- SAX interface unexpectedly gets locale-altered float representation.
- Feat: hash pin github workflow dependencies
- compiler error using clang-16.0.5 when using gcc-13.1 standard library
- Missing requirement on `plantuml` binary package
- Compile failure for macos 10.10 SDK + darwin14
- Test suite does not compile with C++20 and Clang 17
- `modernize-avoid-c-arrays` clang-tidy warning when using \
`NLOHMANN_JSON_SERIALIZE_ENUM` macro
- JSON\_DIAGNOSTICS trigger assertion
- Compiler warning 'array-bounds' on g++12.2.0 on Ubuntu 22.10 kinetic with \
RelWithDebugInfo
- The MSVC team recently test JSON project failed to run test on release \
configuration on windows\_x64.
- Bad JSON diff when removing object in array of object
- Limit AppVeyor use
- pkgconfig integration wrongly rendered if tests are run
- Compile error for json in template and variadic macros.
- How to Serialize derived class to JSON object?
- \[C++17\] Allow std::optional to convert to nlohmann::json
- Fix typo in nlohmann\_define\_derived\_type.md
- Add ONLY\_SERIALIZE for NLOHMANN\_DEFINE\_DERIVED\_TYPE\_\* macros
- Suppress modernize-use-integer-sign-comparison
- Bump actions/upload-artifact from 4.4.3 to 4.5.0
- Clean up CI
- \[StepSecurity\] ci: Harden GitHub Actions
- Fix token permissions warnings
- Add step to build the documentation
- Bump mkdocs-material from 9.5.48 to 9.5.49 in /docs/mkdocs
- Move reuse dependency to requirements.txt file
- Clean up
- ⬆️ Bump ossf/scorecard-action from 2.3.3 to 2.4.0
- ⬆️ Bump lukka/get-cmake from 3.31.0 to 3.31.2
- ⬆️ Bump github/codeql-action from 2.27.9 to 3.27.9
- ⬆️ Bump watchdog from 2.1.7 to 6.0.0 in /tools/serve\_header
- ⬆️ Bump pyyaml from 6.0 to 6.0.2 in /tools/serve\_header
- ⬆️ Bump actions/github-script from 6.4.0 to 7.0.1
- \[StepSecurity\] Apply security best practices
- Set parents after insert call
- Allow patch and diff to be used with arbitrary string types
- Add more package managers
- Replace EOF with char\_traits
- Fix return value of get\_ptr for unsigned integers
- Add more GCC warning flags
- Update licenses
- json start/end position implementation
- Overwork documentation
- Allow comparing default initialized iterators
- fix: integer parsed as float when EINTR set in errno
- Make SAX output locale-independent
- Skip enum tests when JSON\_DisableEnumSerialization=ON
- Fix weak-vtables warning
- Suppress warnings in NLOHMANN\_JSON\_SERIALIZE\_ENUM
- Add comment for \#4494
- Add test for libstdc++
- Another desperate try to fix the CI
- Possible fix for \#4485
- Update CONTRIBUTING.md
- Allow overriding the CMake target name
- Update is\_structured.md
- Add CPack support
- CMake: generate a pkg-config file that follow pkg-config conventions
- Update natvis to reflect 3.11.3 and the current structure of basic\_json
- Docs: fix typos of 'whether' in `operator_{gt,le,lt}.md`
- Remove alwayslink=True Bazel flag
- Optimize binary `get_number` implementation by reading multiple bytes at once
- Make iterator\_proxy\_value a forward\_iterator \(\#4371\)
- Add lgtm explanation
- chore: fix some typos in comments
- Fix gdb pretty printer
- Fix for incorrect function name in documentation example
- Fixed an error in the `Custom data source` example.
- Updated exception handling to catch const reference in out\_of\_range
- \#4307 Updated docx to 3.10.5 from 3.10.4
- Align astyle flags in Makefile with CI
- Suppress Clang-Tidy warnings
- Remove broken link from CONTRIBUTING.md
- Fix version in json\_has\_static\_rtti.md
- Add support of multi-dim C-style array member of struct.
- Docs: Fix wrong code usage in the Value access section of `json_pointer.md`
- Fix `to_json` for enums when the enum has an unsigned underlying type.
- feat: Rebase `feature/optional` to `develop`
- Add NLOHMANN\_DEFINE\_DERIVED\_TYPE\_\* macros
|
2024-08-25 08:19:21 by Thomas Klausner | Files touched by this commit (575) |
Log message:
*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
|
2024-06-17 11:32:13 by Thomas Klausner | Files touched by this commit (5) |  |
Log message:
nlohmann-json: update to 3.11.3.
This release fixes some bugs found in the 3.11.2 release.
|
2023-11-21 18:37:53 by Nia Alarie | Files touched by this commit (3) |
Log message:
nlohmann-json: Optionize tests to greatly cut down on build times.
|
2022-12-28 21:18:21 by Nikita | Files touched by this commit (5) |
Log message:
nlohmann-json: Import as textproc/nlohmann-json version 3.11.2
import from wip, packaged by K.I.A.Derouiche and Adam Ciarciński.
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.
|