We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
size()
1 parent a159820 commit 6dbdecaCopy full SHA for 6dbdeca
src/ArduinoJson/Variant/VariantImpl.hpp
@@ -537,13 +537,24 @@ class VariantImpl {
537
}
538
539
size_t size() {
540
- if (isObject())
541
- return asObject().size();
+ if (!data_)
+ return 0;
542
543
- if (isArray())
544
- return asArray().size();
+ return size(data_, resources_);
+ }
545
+
546
+ static size_t size(VariantData* data, ResourceManager* resources) {
547
+ ARDUINOJSON_ASSERT(data != nullptr);
548
+ ARDUINOJSON_ASSERT(resources != nullptr);
549
550
+ size_t n = CollectionImpl(data, resources).size();
551
552
+ if (data->type == VariantType::Object) {
553
+ ARDUINOJSON_ASSERT((n % 2) == 0);
554
+ n /= 2;
555
556
- return 0;
557
+ return n;
558
559
560
ArrayImpl toArray() {
0 commit comments