Commit Graph

37 Commits

Author SHA1 Message Date
Jamie Seward
c040438e33 Make raising exceptions optional for parse()
This allows users to parse json without raising exceptions but still get
full exception details. This is very similar to how std::networking and
std::filesystem work. In that if the overload with std::error_code& is used
then no exceptions are raised.

- Removed static create functions from exceptions. Replaced with normal constructor so that it can be created on heap for assignment to std::unique_ptr.
- Removed bool allow_exceptions, no longer necessary with the &ex overload.
2017-10-24 01:06:01 -07:00
Niels Lohmann
8af49d4be5
🚨 removing compiler warnings #755 2017-09-30 11:00:26 +02:00
Niels Lohmann
e2e0ecd867
improved test coverage 2017-09-10 22:38:04 +02:00
Niels Lohmann
fcba9ec537
🔨 clean up 2017-09-10 01:12:03 +02:00
Niels Lohmann
fd250ae2b1
improved test coverage 2017-09-09 11:04:58 +02:00
Niels Lohmann
7d51214045
implemented exception-free parser #458 #582
You can now pass a boolean "allow_exceptions" to the parse functions. If it is false, no exceptions are thrown in case of a parse error. Instead, parsing is stopped at the first error and a JSON value of type "discarded" (check with is_discarded()) is returned.
2017-07-27 20:33:11 +02:00
Niels Lohmann
8b123107c0
🔨 fixed some pedantic GCC warnings 2017-07-07 22:41:22 +02:00
Niels Lohmann
84f2e64a7c
improved coverage 2017-06-20 22:35:31 +02:00
Niels Lohmann
7c2a187258
improved test coverage 2017-06-20 21:09:26 +02:00
Niels Lohmann
b27d2adcbe
accept functions to check if input is valid JSON #458 2017-06-16 19:23:55 +02:00
Niels Lohmann
40160f482a
🚧 manual lexer
This commit removed the re2c lexer and replaced it by a manual version.
Its integration is not yet complete: number parsing does not respect
locales or overflows. Furthermore, parsing does not need to end with
EOF. Therefore, a lot of test cases fail. The idea is to push this
branch forward so we can conduct performance comparisons. So far, a
nice side effect are better diagnosis messages in case of parse errors.
2017-03-24 19:49:02 +01:00
Niels Lohmann
c085e3bac2
🔨 started with user-defined exceptions #301 #244
Added class hierarchy for user-defined exceptions (#244). Integrated
parse exceptions 101-103. Parse exceptions include the byte count of
the last read character to locate the position of the error (#301).
2017-03-01 21:28:44 +01:00
Niels Lohmann
27c65b860b
🔖 version 2.1.1 2017-02-25 16:34:38 +01:00
Niels Lohmann
d870826811 🔖 set version to 2.1.0 2017-01-28 16:03:35 +01:00
Niels Lohmann
8b46eb8ec0 📄 it's 2017 already 2017-01-02 09:40:00 +01:00
Niels Lohmann
60b3703c62 🔖 version bump to 2.0.10 2017-01-02 09:35:57 +01:00
Niels Lohmann
303e873ae8 🔖 bumped version to 2.0.9 2016-12-16 20:45:46 +01:00
Niels Lohmann
4adb8a81bf 📝 version bump 2016-12-02 18:39:35 +01:00
Niels
700977d73e version bump 2016-11-02 20:52:15 +01:00
Niels
59c8343851 cleanup 2016-11-02 15:44:46 +01:00
Niels
8f70525374 more test coverage 2016-10-30 17:46:00 +01:00
Niels
7adccde714 improved coverage and updated README 2016-10-30 17:10:11 +01:00
Niels
606098f45d release 2.0.6 2016-10-15 16:47:45 +02:00
Niels
470197bd0b improve test coverage 2016-10-10 21:58:31 +02:00
Niels
3d104f1d43 version bump 2016-09-14 23:06:39 +02:00
Niels
768d66560e version bump 2016-09-11 23:36:59 +02:00
Niels
42be2edd4c fixed test coverage 2016-09-01 00:29:42 +02:00
Niels
df9fd6237e release 2.0.3 2016-08-31 21:27:23 +02:00
Niels
58cbf4b3ef added another test case 2016-08-31 18:23:46 +02:00
Niels
ae7aaed4ac Merge branch 'develop' into feature/iterator_range_parsing 2016-08-31 18:07:18 +02:00
Niels
a485aa8d27 cleanup and improvement of branch coverage 2016-08-30 23:44:15 +02:00
Niels
1d66ab9f7a fixed lexer issue which required null byte at the end of contiguous storage containers #290 2016-08-23 22:38:05 +02:00
Niels
b4571360df more on #290 2016-08-21 12:35:40 +02:00
Niels
eef8059003 allowing parsing from contiguous containers 2016-08-20 20:29:33 +02:00
Niels
a78eaa27b5 fixed unit tests 2016-08-17 21:31:59 +02:00
Niels
5e67f7af01 added a first version of a parser for #290 2016-08-15 22:44:14 +02:00
Niels
d80329034e split test suite in one file per test case 2016-08-04 21:55:47 +02:00