Benoit Blanchon
d92eee8736
Deprecate containsKey() in favor of doc["key"].is<T>()
...
See #2121
2024-09-06 17:32:09 +02:00
Benoit Blanchon
1f7a3f3174
JsonDeserializer: use float when the value has few digits
2024-09-04 14:33:14 +02:00
Benoit Blanchon
3b6bf45b8a
Serialize float with less decimal places than double
2024-09-03 11:44:35 +02:00
Benoit Blanchon
33452c1f37
Test JsonVariant::as<T>() with extension slots
2024-08-27 16:08:47 +02:00
Benoit Blanchon
ee02c0d573
Test extension slot allocation failure
2024-08-27 16:08:47 +02:00
Benoit Blanchon
7643dadaec
WIP
2024-08-27 14:40:24 +02:00
Benoit Blanchon
45611924f3
Tests: add user-defined literal ""_s for std::string
2024-06-07 09:35:45 +02:00
Benoit Blanchon
e4f3fd8c91
Add support for MsgPack extension
2024-06-06 18:33:48 +02:00
Benoit Blanchon
5a60c55be7
Don't add partial objects when allocation fails
...
Fixes #2081
2024-05-23 18:36:24 +02:00
Benoit Blanchon
9e0c56acc3
Replace ConverterNeedsWriteableRef with function_traits
2024-05-22 09:27:14 +02:00
Benoit Blanchon
68a13117dc
Allow using a JsonVariant as a key or index
...
Closes #2080
2024-05-14 21:06:02 +02:00
Benoit Blanchon
5f5f927693
Add tests of as<MsgPackBinary>()
2024-05-01 19:26:19 +02:00
Aubrey (Sanae)
18a9a5b590
Add MsgPack bin8/bin16/bin32 support
...
Closes #2078
Closes #922
2024-04-29 16:01:10 +02:00
Benoit Blanchon
a7bfc2212c
Fix volatile bool serialized as 1 or 0
...
Ported from 5d1d2721d1
2024-01-10 14:03:12 +01:00
Benoit Blanchon
315cc722e9
Add more tests for JsonVariantConst
2024-01-08 19:47:40 +01:00
Benoit Blanchon
0e8a236583
Update copyright year
2024-01-03 08:47:06 +01:00
Benoit Blanchon
7f459adc4b
Remove createNestedArray() and createNestedObject()
2023-08-09 12:08:21 +02:00
Benoit Blanchon
f422b7b37d
Replace add() with add<T>() (add(T) is still supported)
2023-08-09 10:57:52 +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
7a76da3bc7
Tests: rename ControllableAllocator to KillswitchAllocator
2023-07-25 14:46:25 +02:00
Benoit Blanchon
00c9d8680a
Remove memoryUsage()
2023-07-24 17:21:25 +02:00
Benoit Blanchon
0f319e7ca4
Remove capacity from JsonDocument's constructor
2023-07-18 09:08:55 +02:00
Benoit Blanchon
39e8b63746
Remove shallowCopy()
2023-07-17 11:20:46 +02:00
Benoit Blanchon
86772d33bc
Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING
2023-05-02 10:03:37 +02:00
Benoit Blanchon
806fa907ab
Always store serialized("string") by copy ( #1915 )
2023-05-02 09:36:40 +02:00
Benoit Blanchon
dd46813dc0
Change naming convention from _member to member_ ( fixes #1905 )
...
Ported from 31ce648e63
2023-04-21 18:59:48 +02:00
Benoit Blanchon
5d796781fb
Increase coverage
2023-04-21 18:39:47 +02:00
Benoit Blanchon
003087406c
Reference-count shared strings
2023-04-21 16:11:54 +02:00
Benoit Blanchon
b7c8e0d25c
Decouple VariantData from MemoryPool
2023-04-21 16:11:54 +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
3f43c2b816
Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE()
2023-03-29 19:18:06 +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
5edd435fe9
Add a constructor to VariantData
2023-03-20 10:14:54 +01:00
Benoit Blanchon
33a4773fbd
Set clang-format standard to C++11 ( #1820 )
2023-02-16 11:51:02 +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
8f7211a50f
Remove ARDUINOJSON_HAS_NULLPTR ( #1820 )
2023-02-10 17:02:52 +01:00
Benoit Blanchon
62dea9d364
Reformat CMake files
2023-02-10 17:02:51 +01:00
Benoit Blanchon
e0bdc4bff1
Remove unused variables ( fixes #1858 )
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
Benoit Blanchon
94b2b3f9ce
Run all tests with C++11 enabled ( #1820 )
2023-02-10 17:02:51 +01:00
Benoit Blanchon
b0730f04f7
Rename VariantRef to JsonVariant
2022-12-19 14:41:53 +01:00
Benoit Blanchon
ef8ed28aec
Rename VariantConstRef to JsonVariantConst
2022-12-19 14:41:43 +01:00
Benoit Blanchon
8002722f3b
Clang-format: set DerivePointerAlignment to false
2022-08-09 16:52:17 +02:00
Benoit Blanchon
758580bfb6
Rename addElement() to add()
2022-07-07 14:32:43 +02:00
Benoit Blanchon
cd8373ad32
Change link() to shallowCopy() (issue #1343 )
...
Instead of storing a pointer, the function copies the `VariantData`.
Benefits:
* smaller code
* no impact on programs that don't use this feature
Drawbacks:
* changes to the original variant are not always reflected on the copy
* modifying the original from the shallow copy leads to UB
2022-07-05 17:07:43 +02:00
Benoit Blanchon
3d6c328a4f
Add JsonVariant::link() ( resolves #1343 )
2022-04-27 15:08:13 +02:00