Commit Graph

59 Commits

Author SHA1 Message Date
Benoit Blanchon
62e83133cd Remove JsonDocument::data() and JsonDocument::memoryPool() 2022-08-09 10:38:36 +02:00
Benoit Blanchon
1d21027e2a Fix lax parsing of true, false, and null (fixes #1781) 2022-08-06 09:15:07 +02:00
Benoit Blanchon
a6da4ad452 Remove member JsonDeserializer::_error
This reduces the code size by 72 bytes on AVR.
2022-07-29 11:51:46 +02:00
Benoit Blanchon
4f6244eef4 Replace CopiedString and LinkedString with JsonString 2022-01-13 16:15:53 +01:00
Benoit Blanchon
af18994deb Update copyright notice 2022-01-01 10:01:05 +01:00
Benoit Blanchon
43b2e2e774 Append terminator in saveStringFromFreeZone() 2021-11-24 19:06:49 +01:00
Benoit Blanchon
62f9b94ab1 Add CopiedString and LinkedString 2021-11-24 19:06:49 +01:00
Benoit Blanchon
d5d2209d09 Added "https://" prefix to all URLs so they are clickable in VS Code 2021-03-29 19:35:25 +02:00
Benoit Blanchon
cc7ebfd11e deserializeJson() leaves \uXXXX instead of returning NotSupported 2021-02-18 19:40:11 +01:00
Benoit Blanchon
abd64102aa Fixed compilation error on Clang 10 2021-02-03 12:56:26 +01:00
Benoit Blanchon
97b7161d78 Update copyright notice for 2021 2021-01-25 09:14:15 +01:00
Benoit Blanchon
712005219c Added filtering for MessagePack (closes #1298, closes #1394) 2020-10-13 09:40:39 +02:00
Benoit Blanchon
c907ca6e5d Added DeserializationError::EmptyInput 2020-09-13 10:27:29 +02:00
Benoit Blanchon
d04669d0cc Fixed result of JsonVariant::set((char*)0) (fixes #1368) 2020-09-05 17:33:47 +02:00
Benoit Blanchon
8d37939086 Added JsonDocument::overflowed() (closes #1358) 2020-09-05 13:44:40 +02:00
Benoit Blanchon
6d2ad4539f Simplified the implementation of parseNumber() 2020-09-04 09:23:40 +02:00
Benoit Blanchon
35a39b8d8f Fixed deserializeJson() that stopped reading after {} (fixes #1335) 2020-08-04 09:52:42 +02:00
Benoit Blanchon
51b177ce47 Reduced stack usage when compiled with -Og (issue #1210)
This saves 112 bytes on ESP8266
2020-07-26 12:58:12 +02:00
Benoit Blanchon
824b7a25ca Reduced stack usage when compiled with -Og (issue #1210)
This saves 96 bytes on ESP8266
2020-07-26 12:25:13 +02:00
Benoit Blanchon
2223d40640 Reduced stack usage when compiler aggressively inlines deserializeJson()
This saves 64 bytes on the recursive part.
2020-07-26 12:25:13 +02:00
Benoit Blanchon
4df29fbac1 Fixed "linked" strings incorrectly marked as "owned" (fixes #1318) 2020-07-24 22:25:56 +02:00
Benoit Blanchon
764ff2cd53 Added string deduplication (closes #1303) 2020-07-21 20:15:31 +02:00
Benoit Blanchon
1600d39693 Refactored StringBuilder into StringStorage 2020-07-11 17:51:45 +02:00
Benoit Blanchon
fc9e609ab5 Fixed "maybe-uninitialized" warning (fixes #1217) 2020-03-25 08:37:57 +01:00
Benoit Blanchon
d8724e0a0b Changed the array subscript to automatically add missing elements 2020-02-20 08:59:25 +01:00
Benoit Blanchon
1902c0ec93 Improved coverage of JsonDeserializer 2020-02-19 10:31:56 +01:00
Benoit Blanchon
0814fc185f Added a line-break after each "if" to get more accurate coverage report 2020-02-16 15:05:23 +01:00
Benoit Blanchon
8f8c82d400 Reduced code size 2020-02-13 17:05:08 +01:00
Benoit Blanchon
fbffadb2cf Moved nesting decrement logic to class NestingLimit 2020-02-13 16:54:18 +01:00
Benoit Blanchon
6e52f242b2 Extracted the class Latch
also fixed a buffer overrun and reduced the code size
2020-02-13 14:53:54 +01:00
Benoit Blanchon
66b12da4e7 Added DeserializationOption::Filter (closes #959) 2020-02-12 17:22:42 +01:00
Benoit Blanchon
09d4b2cd38 Fixed regression in UTF16 decoding (fixes #1173) 2020-01-27 12:10:10 +01:00
Benoit Blanchon
04fe7e1a27 Added ARDUINOJSON_ENABLE_COMMENTS to enable support for comments 2020-01-13 18:16:02 +01:00
Benoit Blanchon
f9cfea244a Updated copyright notice 2020-01-09 15:48:38 +01:00
Benoit Blanchon
5ec062cc71 Reduced Unicode conversion code size (-122 bytes on AVR) 2020-01-09 15:39:45 +01:00
Kay Sievers
91b808381e Improved decoding of UTF-16 surrogate pairs (closes #1157) 2020-01-08 09:55:43 +01:00
Benoit Blanchon
a37480eec9 Fixed deserializeJson() when input contains duplicate keys (fixes #1095) 2019-09-27 10:07:29 +02:00
Benoit Blanchon
fcbec6eb6d Use absolute instead of relative includes (fixes #1072) 2019-08-26 11:57:57 +02:00
Benoit Blanchon
90c1d549a8 Made deserializeJson() more picky about trailing characters (closes #980) 2019-05-16 20:41:07 +02:00
Benoit Blanchon
576543c4b4 Added overflow handling in JsonVariant::as<T>() and JsonVariant::is<T>() 2019-03-06 15:31:37 +01:00
Benoit Blanchon
20fcb99830 Fixed warning "conversion may alter value" (issue #914) 2019-03-01 09:15:43 +01:00
Benoit Blanchon
4181de119c Detect IncompleteInput in false, true, and null 2019-02-18 16:18:11 +01:00
Benoit Blanchon
56bf24e1ec Fixed JsonVariant::isNull() not returning true after set((char*)0) 2019-02-18 16:04:51 +01:00
Benoit Blanchon
c3f71c1a99 Updated copyright year to 2019 2019-02-15 13:32:04 +01:00
Benoit Blanchon
7050ef675d Decode escaped Unicode characters like \u00DE (issue #304, PR #791) 2019-02-15 13:29:30 +01:00
Benoit Blanchon
e633292df1 Replaced JsonDocument::nestingLimit with a param to deserializeJson() 2019-01-19 14:45:16 +01:00
Benoit Blanchon
f0784d3b41 Simplified deserializeJson() and deserializeMsgPack() 2019-01-04 12:33:39 +01:00
Benoit Blanchon
b77b203935 Extracted VariantData and CollectionData classes 2018-12-07 09:16:58 +01:00
Benoit Blanchon
aaf0d5c3c5 Renamed and moved internal files 2018-11-30 17:53:54 +01:00
Benoit Blanchon
f375459d53 JsonArray::remove() and JsonObject::remove() now release the memory of strings 2018-11-09 18:20:57 +01:00