Commit graph

1044 commits

Author SHA1 Message Date
Julius Rakow 9f00db48d9 📝 link to cppreference via HTTPS 2018-06-24 22:34:47 +02:00
Niels Lohmann 09c0df4a21
👷 choosing correct image 2018-06-24 17:40:16 +02:00
Niels Lohmann d8fe13fc83
🔨 fixed escaping for MinGW 2018-06-24 16:57:53 +02:00
Niels Lohmann 7fa4ddf93e
💄 fixed indentation 2018-06-23 17:27:40 +02:00
Niels Lohmann bf348ca8a4
Merge pull request #1028 from gracicot/develop
Added support for string_view in C++17
2018-06-23 17:10:04 +02:00
Niels Lohmann 850922269d
🚨 removed compiler warnings 2018-06-23 10:28:04 +02:00
Niels Lohmann e7c1638d11
💄 cleanup 2018-06-18 22:03:46 +02:00
Niels Lohmann 1c81e9f5ae
Merge pull request #1130 from agrianius/develop
test (non)equality for alt_string implementation
2018-06-18 22:01:53 +02:00
Théo DELRIEU 2c920a1032
run make amalgamate 2018-06-18 15:14:10 +02:00
Théo DELRIEU 2b37d7ed86
from_json: add overload for std::unordered_map
Fixes #1133
2018-06-18 15:14:10 +02:00
Danielc 1566ad4053 fixed compile error for #1045; to_json for iternation_proxy_internal was needed 2018-06-16 12:01:49 +03:00
Vitaliy f574d7e084 simplify templates for operators, add more checks 2018-06-14 15:07:06 +03:00
Vitaliy cd28d872e7 forward declarations to make new compilers happy 2018-06-11 20:50:39 +03:00
Vitaliy 3d3055909c define global operator< for const char* and alt_string 2018-06-11 19:09:57 +03:00
Vitaliy 4feb8211ca test (non)equality for alt_string implementation 2018-06-11 18:03:46 +03:00
Guillaume Racicot 714c592680 Disabled implicit conversion to string_view on MSVC 15.13 and older 2018-06-01 14:22:57 -04:00
Niels Lohmann e5a67fc3f8
Merge branch 'develop' of https://github.com/nlohmann/json into develop 2018-05-28 17:57:46 +02:00
Niels Lohmann a49644ab74
🚑 adjusted Fuzzer to new parser
out_of_range exceptions where unexpected before - the parser used to crash in these situations...
2018-05-28 17:57:22 +02:00
Niels Lohmann 0efaf891e5
Merge pull request #1089 from theodelrieu/feature/map_conversion
Provide a from_json overload for std::map
2018-05-28 14:53:23 +02:00
Théo DELRIEU c5e63fd684
Provide a from_json overload for std::map
This overload is chosen only when BasicJsonType::string_t
is not constructible from std::map::key_type.

Currently, converting a map to json treats it as an array of pairs.

fixes #1079
2018-05-28 11:06:24 +02:00
Niels Lohmann 1f84cc2c88
adjusted test cases 2018-05-17 16:50:37 +02:00
Niels Lohmann 717301d1bc
Merge branch 'testsuite' into feature/sax2 2018-05-17 16:36:43 +02:00
Niels Lohmann 4639bb2c8f
added more tests from recent nst's JSONTestSuite 2018-05-17 10:10:01 +02:00
Niels Lohmann 5ff2abb90d
Merge branch 'develop' into feature/sax2 2018-05-06 13:29:23 +02:00
Niels Lohmann ed69e50ad2
📄 added SPDX-License-Identifier 2018-05-03 17:41:45 +02:00
Niels Lohmann fa3e42f826
Merge branch 'develop' into feature/wstring 2018-04-29 13:16:12 +02:00
Niels Lohmann b5d1755dfb
🔥 removed commented-out test cases #1060 2018-04-22 15:41:42 +02:00
Niels Lohmann 8d8f890771
💩 first try on #1045 2018-04-10 08:29:07 +02:00
Guillaume Racicot aaee18ce90 Added test for string conversion with string_view 2018-04-09 11:15:33 -04:00
Niels Lohmann cf91b4f2bb
Merge branch 'develop' into feature/wstring 2018-04-08 11:36:58 +02:00
Niels Lohmann e1ea8369ad
Merge branch 'develop' into feature/sax2 2018-04-08 09:31:59 +02:00
Niels Lohmann 18a0271a95
Merge branch 'develop' into feature/issue1021 2018-04-08 09:21:43 +02:00
Niels Lohmann 495436a5d5
Merge pull request #1026 from ktonon/develop
Added public target_compile_features for auto and constexpr
2018-04-03 17:34:42 +02:00
Niels Lohmann aa89c5e048
🔨 removing unget_character() function from input adapters #834 2018-04-02 21:10:48 +02:00
Niels Lohmann 6678eb2b4a
improved test coverage #1031 2018-04-02 15:38:49 +02:00
Niels Lohmann 727dd4664b
🔨 trying to make tests run with MSVC #1031 2018-04-02 12:27:07 +02:00
Niels Lohmann ab89ae4e50
🔨 trying to make tests run with MSVC #1031 2018-04-02 11:34:36 +02:00
Niels Lohmann eb06d0531a
🚧 added input adapter for wide strings #1031 2018-04-01 19:12:36 +02:00
Niels Lohmann 4efa8cdb4c
💚 fixed Valgrind options #1030 2018-03-29 17:19:21 +02:00
Guillaume Racicot c78dbc366c Added test for conversion to string_view 2018-03-29 01:03:57 -04:00
Niels Lohmann 5f723bbec6
🔨 realized callback parser wirh SAX interface #971 2018-03-28 23:39:39 +02:00
Niels Lohmann 896a9db461
🔨 improved code #1021 2018-03-28 19:37:21 +02:00
Kevin Tonon 73cc5089e3 Using target_compile_features to specify C++ 11 standard 2018-03-28 13:11:49 -04:00
Niels Lohmann a9baab76c2
🚑 fix for #1021 2018-03-28 18:20:55 +02:00
Niels Lohmann 4f6b2b6429
🔨 changed SAX interface 2018-03-21 20:12:06 +01:00
Niels Lohmann 2537677e4c
improved test coverage 2018-03-20 23:40:01 +01:00
Niels Lohmann 9e1abb4842
improved coverage 2018-03-20 22:39:08 +01:00
Niels Lohmann 1e38ffc014
more tests 2018-03-20 20:04:11 +01:00
Niels Lohmann 99ecca55c4
improved test coverage 2018-03-20 18:49:10 +01:00
Niels Lohmann 9e07e9b4ec
implemented non-throwing binary reader 2018-03-19 22:48:13 +01:00
Niels Lohmann 606a25195f
improved test coverage 2018-03-17 19:15:59 +01:00
Niels Lohmann 27cf05af8d
Merge branch 'develop' into feature/sax2 2018-03-14 22:02:19 +01:00
Niels Lohmann afef474c0d
🔖 set version to 3.1.2 2018-03-14 21:09:27 +01:00
Niels Lohmann a52e8355b8
oops 2018-03-14 17:32:48 +01:00
Niels Lohmann 21410d50af
🏁 moved /Wall to CMake 2018-03-14 17:21:31 +01:00
Niels Lohmann 1262d474eb
🏁 fixed an MSVC warning 2018-03-14 07:32:28 +01:00
Niels Lohmann abac6a0e84
Merge branch 'develop' into feature/sax2 2018-03-13 23:58:17 +01:00
Niels Lohmann 8557151d90
♻️ adjusting lexer/parser in symmetry to #1006 2018-03-12 19:15:11 +01:00
Niels Lohmann 3d4f6a2940
🔨 cleaner exception interface 2018-03-11 22:47:25 +01:00
Niels Lohmann ad47b0fbde
♻️ refactored binary readers to use a SAX parser 2018-03-11 18:47:38 +01:00
Vitaliy Manushkin 392c033805 test refactoring 2018-03-11 00:29:04 +03:00
Vitaliy Manushkin 51349537fc add unit test: checking dump to alternative string type 2018-03-10 23:59:10 +03:00
Niels Lohmann 149d2fd09c
💚 improved test coverage 2018-03-10 11:24:00 +01:00
Niels Lohmann 35e43df625
Merge branch 'develop' into feature/sax2 2018-03-09 21:56:30 +01:00
Niels Lohmann 9918523077
📝 cleanup after #1001 2018-03-09 21:31:46 +01:00
Niels Lohmann 7c1a788893
Merge branch 'develop' into feature/sax2 2018-03-08 07:39:37 +01:00
Niels Lohmann cf60e18c89
🔥 removing failing test (work on this in branch "leak") 2018-03-08 07:39:21 +01:00
Niels Lohmann 38345fd06c
👌 fixed some more warnings 2018-03-07 22:51:22 +01:00
Niels Lohmann 303a0c5843
Merge branch 'develop' into feature/sax2 2018-03-07 22:26:01 +01:00
Niels Lohmann d183d34b96
💚 added another test case 2018-03-07 22:25:25 +01:00
Niels Lohmann 476b2e09be
💚 added regression tests for #972 and #977 2018-03-06 20:13:31 +01:00
Niels Lohmann 62030615a0
Merge pull request #986 from theodelrieu/fix/basic_json_conversion
Fix/basic json conversion
2018-03-06 19:27:39 +01:00
Niels Lohmann 5beab80553
🔨 using the SAX-DOM parser 2018-03-06 18:17:07 +01:00
Niels Lohmann 5b9d03cfdb
🔨 added SAX-DOM-Parser 2018-03-05 21:06:00 +01:00
Niels Lohmann 9d27429527
🔨 added error messages to SAX interface 2018-03-05 16:46:35 +01:00
Niels Lohmann 86991d5204
Merge branch 'develop' into feature/sax2 2018-03-05 16:16:43 +01:00
Niels Lohmann 8d104e6fe3
💚 fixed test case 2018-02-28 22:40:48 +01:00
Niels Lohmann 5773e164bb
🚨 fixed a linter warning 2018-02-28 19:59:54 +01:00
Théo DELRIEU 8711ec6034
support construction from other basic_json types
Before this patch, `basic_json` types with different template arguments
were treated as `CompatibleArrayType`. Which sometimes leads to recursive
calls and stack overflows.

This patch adds a constructor and a `get` overload to deal with
different `basic_json` types.
2018-02-27 16:48:09 +01:00
Théo DELRIEU c22f2d41f3
missing CHECK_NOTHROW in unit-udt 2018-02-27 11:09:53 +01:00
Niels Lohmann 3ff9455332
🔨 added a SAX-DOM-Parser 2018-02-26 23:39:23 +01:00
Niels Lohmann 21352c4d8e
♻️ refactored SAX parser 2018-02-26 20:08:12 +01:00
Niels Lohmann 8d6b3d44d6
👌 fixed some compiler warnings 2018-02-25 18:35:16 +01:00
Niels Lohmann 8c7f46f7d0
🔨 removed a logic error and improved coverage 2018-02-25 17:10:30 +01:00
Niels Lohmann 922f7a3d0e
added more tests for SAX parsing 2018-02-25 14:21:30 +01:00
Niels Lohmann ac230e8b4b
🔨 fixed test cases to be more robust 2018-02-25 10:44:47 +01:00
Niels Lohmann 374ebacc51
added a SAX parser #971 2018-02-24 18:04:07 +01:00
Niels Lohmann 938c861a09
🔖 set version to 3.1.1 2018-02-12 22:59:36 +01:00
Niels Lohmann 94b7a8da66
💄 fixed indentation 2018-02-12 20:46:14 +01:00
Théo DELRIEU 01d6118828
Fix constraints on from_json(CompatibleArrayType)
Fixes #924
2018-02-12 15:37:33 +01:00
Niels Lohmann 74675dd69c
back to the original version 2018-02-09 22:40:52 +01:00
Niels Lohmann ab05df3a48
🔨 another try 2018-02-09 22:27:08 +01:00
Niels Lohmann 0111f3187e
🔨 working on #953 2018-02-09 21:30:15 +01:00
Niels Lohmann 83db7876c5
🏁 removing test case that fails on MSVC #962 2018-02-09 18:32:12 +01:00
Niels Lohmann 33a9b00ce6
🐛 fix for #962
Added out_of_range exception for UBJSON containers with sizes that exceed the target container's max_size.
2018-02-06 22:38:53 +01:00
Niels Lohmann 8b457ace25
🐛 fixing CBOR's indefinity length strings #961
Beside the fix discussed in #961, we also had to re-adjust a test case. It seems that it was failing before, and I "fixed" it to work with the broken implementation...
2018-02-06 20:43:03 +01:00
Niels Lohmann 737cffe0cb
🔨 fixed directory for lcov coverage 2018-02-04 20:58:50 +01:00
Niels Lohmann 0258484626
🔖 set version to 3.1.0
- updated documentation wrt. new repository layout
- temporarily switched off Homebrew --HEAD building (can only be switched on after release)
- set copyright date to 2018
2018-02-01 22:20:26 +01:00
Théo DELRIEU 14cd019861
fix cmake install directory (for real this time)
* Rename 'develop' folder to 'include/nlohmann'
* Rename 'src' folder to 'single_include/nlohmann'
* Use <nlohmann/*> headers in sources and tests
* Change amalgamate config file
2018-02-01 11:06:51 +01:00
Niels Lohmann 57e6fddd90
🚨 fixed warnings 2018-01-30 23:57:49 +01:00
Niels Lohmann 102c474397
🔨 clean up 2018-01-28 14:13:02 +01:00
Niels Lohmann 05f49fa401
added roundtrip tests for UBJSON 2018-01-27 18:47:32 +01:00
Niels Lohmann f0b26c8f38
added fuzzer for UBJSON input 2018-01-27 18:38:11 +01:00
Niels Lohmann b0a68f540f
added roundtrip tests for UBJSON 2018-01-27 18:37:55 +01:00
Niels Lohmann dbfd7e532b
Merge branch 'develop' of https://github.com/nlohmann/json into develop 2018-01-23 16:33:10 +01:00
Niels Lohmann 3c68a796df
🔥 deprecated iterator_wrapper #874
Also fixed some warnings from GCC.
2018-01-23 16:33:08 +01:00
Niels Lohmann f5c4e9f3a1
Merge pull request #919 from theodelrieu/fix/sfinae_for_incomplete_types
fix sfinae on basic_json UDT constructor
2018-01-23 07:32:06 +01:00
Niels Lohmann 7eabb6ba36
📝 updated documentation for UBJSON functions 2018-01-22 23:23:17 +01:00
Niels Lohmann 3cca630836
🔨 cleanup after #915 2018-01-21 15:55:35 +01:00
Niels Lohmann 010e596001
Merge pull request #915 from abolz/dtoa
Floating-point formatting
2018-01-21 15:02:57 +01:00
Niels Lohmann 9e5d901f55
Merge branch 'feature/ubjson' into develop 2018-01-21 14:04:29 +01:00
Niels Lohmann a8f711a2f1
using Google Benchmark #921 2018-01-18 21:57:21 +01:00
Théo DELRIEU dcee778c1e
fix sfinae on basic_json UDT constructor
Avoid compiler errors when performing SFINAE checks on basic_json
and incomplete types.
2018-01-17 12:17:38 +01:00
abolz 787204f076 Add unit-tests for detail::to_chars 2018-01-15 21:13:17 +01:00
abolz 0695ac4001 Add tests for #360 2018-01-15 21:07:25 +01:00
abolz 68a9736738 Tests: Re-enable some round-trip tests 2018-01-15 21:07:25 +01:00
abolz 6e2e466c27 Tests: Don't rely on the format used for floating-point formatting 2018-01-15 21:07:25 +01:00
abolz 107c21a488 Tests: Exponents are formatted with a leading '+' sign 2018-01-15 21:07:25 +01:00
abolz 3ae82d91a2 Tests: Floating-point formatting uses lower case 'e' 2018-01-15 21:07:24 +01:00
Niels Lohmann 92f7295063
🔨 cleanup 2018-01-15 13:21:33 +01:00
Niels Lohmann 9d6b3731b9
improved test coverage 2018-01-14 20:07:38 +01:00
Niels Lohmann f85f4967fe
improved test coverage 2018-01-14 17:22:06 +01:00
Niels Lohmann 0e8f01a963
Merge branch 'develop' into feature/rfc7396 2018-01-14 10:28:09 +01:00
Niels Lohmann 1b54d4a5aa
Merge branch 'develop' into feature/ubjson 2018-01-14 10:10:56 +01:00
Niels Lohmann 3a7585e738
added more tests 2018-01-10 22:47:07 +01:00
Niels Lohmann 965a70e38d
🔨 optimized output format 2018-01-10 11:22:19 +01:00
Niels Lohmann fb1154c237
🚧 debug 2018-01-08 21:26:41 +01:00
Niels Lohmann 97e0d20ce9
🚧 debug 2018-01-08 21:16:20 +01:00
Niels Lohmann ebf28a26ee
🚧 another try 2018-01-08 20:49:02 +01:00
Théo DELRIEU 7e4ee23f40
add single_header CMake target 2018-01-08 20:09:43 +01:00
Niels Lohmann 3d7658da89
🚧 working on AppVeyor's errors 2018-01-08 19:48:18 +01:00
Niels Lohmann 126ce2e56c
🚧 further UBJSON 2018-01-08 18:54:17 +01:00
Niels Lohmann c9938ea838
🚧 started UBJSON implementation 2018-01-07 22:09:12 +01:00
Niels Lohmann 15b6421d07
added UTF-8 decoder capability and stress test
As described in http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt; Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> - 2015-08-28 - CC BY 4.0
2018-01-05 23:26:22 +01:00
Niels Lohmann 78f8f837e6
added items() function #874 2018-01-05 18:34:10 +01:00
Niels Lohmann 92484f0caf
🔖 set version to 3.0.1 2017-12-29 18:31:13 +01:00
Niels Lohmann ebc6849b71
added test for #894 2017-12-29 16:53:04 +01:00
Niels Lohmann 3b3b6e8e69
🚑 fix for #894
- Implemented "copy" in terms of "add".
- Added check for JSON Pointer array indices to make sure the complete reference token was processed.
- Added test suite from https://github.com/json-patch/json-patch-tests
2017-12-28 13:52:23 +01:00
Niels Lohmann 9e3c4ad11f
🔖 set version to 3.0.0 2017-12-17 08:31:18 +01:00
Niels Lohmann 9a51fb4da2
🚨 fixed some warnings 2017-12-16 22:19:30 +01:00
Niels Lohmann 4c871c58f8
re-added tests for algorithms 2017-12-16 11:16:34 +01:00
Niels Lohmann c6e7eae394
implemented JSON Merge Patch (RFC 7396)
SQLite's json1 extension (https://www.sqlite.org/json1.html) supports JSON Merge Patch (https://tools.ietf.org/html/rfc7396). As the implementation is trivial and we already support JSON Patch, I think this could be a nice extension to the library.
2017-12-13 23:36:22 +01:00
Niels Lohmann 8419bfbbd2
improved test coverage
As we guarantee proper UTF-8 before, we do not need to cope with it later.
2017-12-12 20:44:57 +01:00
Niels Lohmann 569d275f65
💥 throwing an exception in case dump encounters a non-UTF-8 string #838
We had a lot of issues with failing roundtrips (i.e., parse errors from serializations) in case string were stored in the library that were not UTF-8 encoded. This PR adds an exception in this case.
2017-12-11 22:38:05 +01:00
Niels Lohmann 772bb3cc20
📝 fixing documentation #867
The example in the documentation on how to "force" an array of arrays was wrong since the first release. Fixed the documentation and added checks for the README unit tests.
2017-12-10 12:32:20 +01:00
Matthias Möller 5b4855dea2 fix targetname 2017-11-26 10:29:51 +01:00
Niels Lohmann 430f03512c
🚨 fixed some warnings #821 2017-11-25 22:06:18 +01:00
Niels Lohmann de75cf89f7
improved test coverage 2017-11-25 19:41:02 +01:00
Niels Lohmann 5696660eba
🔨 another try to fix #714
adding std::ios_base::binary when opening all_unicode.json.cbor
2017-10-31 15:04:14 +01:00
Théo DELRIEU 4b46abf97c
add forwarding references to json_ref constructor
fixes #805
2017-10-28 14:22:57 +02:00