Benoit Blanchon
09c89dcacf
Store object members with two slots: one for the key and one for the value
2024-08-24 10:45:51 +02:00
Benoit Blanchon
45611924f3
Tests: add user-defined literal ""_s for std::string
2024-06-07 09:35:45 +02:00
Benoit Blanchon
0e8a236583
Update copyright year
2024-01-03 08:47:06 +01:00
Benoit Blanchon
6fe4b9c01d
Detect string length overflows
2023-10-09 14:15:55 +02:00
Benoit Blanchon
38941d5807
Tests: use sections for filters tests
2023-08-01 19:14:11 +02:00
Benoit Blanchon
57454cf97b
Don't call shrinkToFit() for deserializeXxx(JsonVariant)
2023-08-01 18:48:10 +02:00
Benoit Blanchon
3003756adb
Reformat filters test file
2023-07-31 17:34:53 +02:00
Benoit Blanchon
218a12ca46
Call shrinkToFit() in deserializeJson() and deserializeMsgPack()
2023-07-31 17:34:17 +02:00
Benoit Blanchon
43eed00cd9
Add deserializeXxx(JsonVariant, ...) ( resolves #1226 )
2023-07-29 12:05:18 +02:00
Benoit Blanchon
8fb187baed
Tests: gather deserializeJson() errors test cases
2023-07-29 06:33:45 +02:00
Benoit Blanchon
9122d87f12
Tests: remove duplicate test of incomplete input
2023-07-27 14:31:56 +02:00
Benoit Blanchon
9a11d98117
Tests: make allocator assertions more readable
2023-07-26 09:28:21 +02:00
Benoit Blanchon
30ec507989
Tests: use a consistent naming convention for allocators
2023-07-25 14:53:54 +02:00
Benoit Blanchon
00c9d8680a
Remove memoryUsage()
2023-07-24 17:21:25 +02:00
Benoit Blanchon
1a14499612
Preallocate pool list
2023-07-21 17:57:13 +02:00
Benoit Blanchon
0f319e7ca4
Remove capacity from JsonDocument's constructor
2023-07-18 09:08:55 +02:00
Benoit Blanchon
42b2840009
Create more memory pools as needed ( resolves #1074 )
2023-07-18 09:08:55 +02:00
Benoit Blanchon
4871380060
Rename MemoryPool to ResourceManager
2023-06-18 10:14:39 +02:00
Benoit Blanchon
da45c4bc4f
Fix memory leak in JsonDeserializer when object key is repeated
2023-05-25 09:21:54 +02:00
Benoit Blanchon
37357086e2
Remove the zero-copy mode
...
After removing the string size from `VariantContent`, `deserializeJson()` and `deserializeMsgPack()` could not support NUL in strings in the zero-copy mode anymore.
Instead of adding a complicated warning in the documentation, I thought it was better to remove the zero-copy mode entirely.
The zero-copy mode has always been a source of bugs because many users used it without realizing it.
Also, the memory savings are smaller now that we deduplicate strings, so this feature should not be missed much.
2023-05-10 09:55:21 +02:00
Benoit Blanchon
d8f3058efa
Store the strings in the heap
2023-04-17 10:42:08 +02:00
Benoit Blanchon
e9850152a7
Tests: replace constants with sizeofString(n)
2023-04-07 14:50:54 +02:00
Benoit Blanchon
035c913c72
Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION
2023-03-29 19:28:44 +02:00
Benoit Blanchon
3f43c2b816
Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE()
2023-03-29 19:18:06 +02:00
Benoit Blanchon
0328f66340
Fix compatibility with GCC 5.2
2023-03-28 17:24:45 +02:00
Benoit Blanchon
540901e219
Merge DynamicJsonDocument with JsonDocument
2023-03-20 14:49:51 +01:00
Benoit Blanchon
17a482a9b1
Remove StaticJsonDocument
2023-03-20 10:40:35 +01:00
Benoit Blanchon
daa87e12dc
Update copyright notice
2023-02-16 11:45:01 +01:00
Benoit Blanchon
1b66a217bf
Replace ARDUINOJSON_NAMESPACE with an inline namespace ( #1820 )
2023-02-14 10:04:48 +01:00
Benoit Blanchon
62dea9d364
Reformat CMake files
2023-02-10 17:02:51 +01:00
Benoit Blanchon
007b4f3362
Update Catch library to 2.13.10 ( #1820 )
2023-02-10 17:02:51 +01:00
Johan Vromans
3345255f16
Fix comma tests.
2023-01-13 08:21:54 +01:00
Benoit Blanchon
1d21027e2a
Fix lax parsing of true, false, and null ( fixes #1781 )
2022-08-06 09:15:07 +02:00
Benoit Blanchon
421ecec0dd
Tests: trim trailing white spaces
2022-02-25 10:28:42 +01:00
Benoit Blanchon
89ed54362b
Fix -Wsign-conversion on GCC 8 ( fixes #1715 )
2022-02-25 10:28:42 +01:00
Benoit Blanchon
21b2c76524
Fix filter not working in zero-copy mode ( fixes #1697 )
2022-01-13 20:25:49 +01:00
Benoit Blanchon
af18994deb
Update copyright notice
2022-01-01 10:01:05 +01:00
Benoit Blanchon
be70f6ddd7
Support NUL inside string values (issue #1646 )
2021-12-07 16:08:44 +01:00
Benoit Blanchon
43b2e2e774
Append terminator in saveStringFromFreeZone()
2021-11-24 19:06:49 +01:00
Benoit Blanchon
5ed5f3687b
Improve test coverage
2021-10-24 09:58:39 +02:00
Benoit Blanchon
943a902a0b
Remove DeserializationError == bool and DeserializationError != bool
2021-10-24 09:58:39 +02:00
Benoit Blanchon
956e4a7cbb
Fixed deserialization of \u0000 (issue #1646 )
2021-08-31 14:23:58 +02:00
Benoit Blanchon
2c3ae1c181
Filter: exact match takes precedence over wildcard ( fixes #1628 )
2021-08-13 10:35:15 +02:00
Benoit Blanchon
14639f129e
CMake: added empty line at end of each file
2021-06-26 11:29:15 +02:00
Benoit Blanchon
7be0c2c650
CMake: added labels to tests
2021-04-25 11:38:19 +02: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
e4ce75e20c
Simplified JsonVariant::as<T>() to always return T
2021-03-08 19:33:52 +01:00
Benoit Blanchon
1038fc35df
Removed DeserializationError::NotSupported
2021-02-18 19:41:15 +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