Description

JsonVariant::memoryUsage() returns the number of bytes used by the value pointed by the JsonVariant.

Unlike JsonDocument::memoryUsage(), the result doesn’t include leaked memory.

Signature

size_t memoryUsage() const;

Example

char json[] = "{\"a\":1,\"b\":2}";
StaticJsonDocument<200> doc;
deserializeJson(doc, json);
doc.remove("b"); // remove last member to show the effect of a leak

JsonVariant var = doc.as<JsonVariant>();

Serial.println(var.memoryUsage());  // 10 on AVR
Serial.println(doc.memoryUsage());  // 16 on AVR

See also

Global warming stripes by Professor Ed Hawkins (University of Reading)