Commit graph

3603 commits

Author SHA1 Message Date
Matthew Bauer e54f03f73b Tag binary values in cbor if set
CBOR has tags, which work similarly to "subtype"s:

https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml

Unsure if this makes sense. Note that the subtype must just be one
byte wide.
2020-07-02 17:40:02 -04:00
Niels Lohmann eb7376bb13
Merge pull request #2225 from nlohmann/issue2175
Simplify conversion from/to custom types
2020-06-29 14:41:09 +02:00
Niels Lohmann 470f7c0c68
📝 add documentation 2020-06-29 13:43:06 +02:00
Niels Lohmann 1b4ea8f89b
Merge pull request #2224 from nlohmann/issue2221
Remove unused typedefs
2020-06-28 15:08:18 +02:00
Niels Lohmann fa9f4040df
🔥 remove unused typedefs #2221 2020-06-27 13:07:02 +02:00
Niels Lohmann 5ba0f65c34
🔧 remove feature request template 2020-06-27 12:55:41 +02:00
Niels Lohmann aefa0b3e86
🔧 use Github discussions for questions 2020-06-27 12:54:42 +02:00
Niels Lohmann 3948b5b091
Merge pull request #2212 from nlohmann/comments
Add option to ignore comments in parse/accept functions
2020-06-27 12:44:51 +02:00
Niels Lohmann 1af4f5f360
Merge pull request #2222 from alexreinking/patch-1
Enable CMake policy CMP0077
2020-06-27 12:43:52 +02:00
Niels Lohmann c5ee222982
Merge pull request #2211 from nlohmann/fix_warnings
Fix Clang-Tidy warnings
2020-06-27 12:34:18 +02:00
Alex Reinking ec43371e07
Enable CMake policy CMP0077
Projects that import json via [FetchContent](https://cmake.org/cmake/help/latest/module/FetchContent.html) or `add_subdirectory` pointed at a git submodule may want to set `JSON_BuildTests` to "NO". However, this doesn't work without creating an identical `option()` in the importing project. Enabling CMP0077 in supported versions of CMake changes the behavior of `option()` to allow importing projects to set default values for the variables without touching the cache.

See the documentation for CMP0077 here: https://cmake.org/cmake/help/latest/policy/CMP0077.html
2020-06-26 11:47:36 -07:00
Niels Lohmann 635b9a0ae4
Merge pull request #2193 from dota17/issue#2059
Fix consistency in function `int_to_string()`
2020-06-24 11:46:48 +02:00
Niels Lohmann 8575fdf9ad
Merge pull request #2181 from dota17/issue#1275
Fix issue#1275
2020-06-23 09:23:03 +02:00
Niels Lohmann 4bfe4add20
Merge pull request #2203 from t-b/use-unsigned-indizies-for-array-index-in-json-pointer
Use unsigned indizies for array index in json pointer
2020-06-23 09:16:01 +02:00
chenguoping 0ecf297457 drop std::enable_if part 2020-06-23 09:14:55 +08:00
Niels Lohmann a9809f3381
🏁 revert change that breaks with MSVC 2020-06-22 23:02:28 +02:00
Niels Lohmann 8b3d2399a4
🚨 remove warnings 2020-06-22 22:32:21 +02:00
chenguoping aeef50709e to allow for ADL in int_to_string() function 2020-06-22 20:17:56 +08:00
Thomas Braun ecbb2756fd json_pointer::array_index: Use unsigned values for the array index when parsing
The current code uses std::stoi to convert the input string to an int
array_index. This limits the maximum addressable array size to ~2GB on
most platforms.

But all callers immediately convert the result of array_index to
BasicJsonType::size_type.

So let's parse it as unsigned long long, which allows us to have as
big arrays as available memory. And also makes the call sites nicer to
read.

One complication arises on platforms where size_type is smaller than
unsigned long long. We need to bail out on these if the parsed array
index does not fit into size_type.
2020-06-22 13:42:55 +02:00
Niels Lohmann 65e8ee985a
🔨 clean up 2020-06-22 08:59:03 +02:00
Niels Lohmann 29ad2178c6
Merge pull request #2176 from gracicot/cpp20-support-no-std-fct-templ-specialization
C++20 support by removing swap specialization
2020-06-21 20:39:58 +02:00
Niels Lohmann e22ce45065
🚸 improve diagnostics 2020-06-21 13:28:00 +02:00
Niels Lohmann 139a0258cc
Merge branch 'develop' of https://github.com/nlohmann/json into comments 2020-06-21 12:40:21 +02:00
Niels Lohmann 8dade80499
Merge pull request #2202 from nlohmann/issue2189
Add option to not rely on Internet connectivity during test stage
2020-06-21 08:41:48 +02:00
Thomas Braun f0e73163f2 json_pointer.hpp: Mention more exception in documentation
Forgotten in dcd3a6c6 (move the catch of std::invalid_argument into
array_index(), 2020-03-23).
2020-06-20 15:27:22 +02:00
Niels Lohmann 0fe9f23254
add macros from #2175 2020-06-20 14:11:37 +02:00
Niels Lohmann 24992003d9
📝 add notes from #2189 2020-06-20 09:55:11 +02:00
Niels Lohmann e4675887a6
Merge branch 'develop' of https://github.com/nlohmann/json into issue2189 2020-06-20 09:47:12 +02:00
Niels Lohmann 74c6e4295f
Merge pull request #2201 from nlohmann/issue2196
Serialize floating-point numbers with 32 bit when possible (MessagePack)
2020-06-20 09:31:02 +02:00
Niels Lohmann b64002bbca
♻️ extract common code to function 2020-06-19 13:24:08 +02:00
Niels Lohmann 0585ecc56b
add tests for comment skipping 2020-06-19 13:10:35 +02:00
Niels Lohmann cd115cbc33
update test suite 2020-06-18 12:50:32 +02:00
Niels Lohmann 74520d8bb0
🚧 extend API 2020-06-17 22:03:14 +02:00
Niels Lohmann 88a37010d6
🐛 serialize 32-bit floating-point numbers as float 32 in MessagePack (0xCA) #2196 2020-06-17 21:14:23 +02:00
Niels Lohmann e9bfcf7255
improve comment parsing 2020-06-17 14:59:47 +02:00
chenguoping 4a6c68c7eb drop new blank line 2020-06-17 20:44:31 +08:00
chenguoping da8fa3535a drop testcase 2020-06-17 20:41:31 +08:00
Niels Lohmann e86b3fae98
🔧 add label to tests that require a git checkout 2020-06-17 12:35:59 +02:00
chenguoping f466919ec2 change test cases 2020-06-17 15:07:25 +08:00
chenguoping 8aaa4013a3 remove overload function, change default_value to rvalue 2020-06-17 15:05:28 +08:00
Niels Lohmann 4d96f4cf6a
🔧 overwork CMake files 2020-06-16 20:23:01 +02:00
Niels Lohmann f4c4bab600
add option JSON_TestDataDirectory to set path with test data #2189 2020-06-16 12:55:36 +02:00
Niels Lohmann b53c6e2f81
ignore comments 2020-06-16 12:28:59 +02:00
chenguoping 691fb0c57a fix issue#2059 2020-06-16 15:35:26 +08:00
Niels Lohmann e7452d8778
Merge branch 'release/3.8.0' into develop 2020-06-14 17:44:18 +02:00
Niels Lohmann 5f862710fe
🔖 set version to 3.8.0 2020-06-14 17:16:45 +02:00
Niels Lohmann 1ecb7884d1
👥 update contributor list 2020-06-14 15:22:08 +02:00
Niels Lohmann c05bd90467
Merge pull request #2182 from tanuj208/develop
Improve parse_ubjson_fuzzer
2020-06-12 09:37:44 +02:00
Tanuj Garg c3c5c03ea3 added fuzzing with different values to default argument in to_ubjson method 2020-06-10 20:50:25 +05:30
chenguoping a3df26b771 add some test cases 2020-06-10 19:27:57 +08:00