Don't use JsonBuffer to create or parse objects and arrays.

* Added DynamicJsonArray and StaticJsonArray
* Added DynamicJsonObject and StaticJsonObject
* Added DynamicJsonVariant and StaticJsonVariant
* Added deserializeJson()
* Removed JsonBuffer::parseArray(), parseObject() and parse()
* Removed JsonBuffer::createArray() and createObject()
This commit is contained in:
Benoit Blanchon
2018-02-26 16:05:16 +01:00
parent baf5adcf33
commit 7a2a64803a
89 changed files with 1612 additions and 1691 deletions

View File

@ -16,8 +16,7 @@ void check(const JsonObject &obj, const std::string &expected) {
REQUIRE(expected.size() == measuredLen);
}
TEST_CASE("JsonObject::printTo()") {
DynamicJsonBuffer _jsonBuffer;
JsonObject &obj = _jsonBuffer.createObject();
DynamicJsonObject obj;
SECTION("EmptyObject") {
check(obj, "{}");
@ -92,17 +91,22 @@ TEST_CASE("JsonObject::printTo()") {
}
SECTION("ThreeNestedArrays") {
DynamicJsonArray b, c;
obj.createNestedArray("a");
obj["b"] = _jsonBuffer.createArray();
obj.set("c", _jsonBuffer.createArray());
obj["b"] = b;
obj.set("c", c);
check(obj, "{\"a\":[],\"b\":[],\"c\":[]}");
}
SECTION("ThreeNestedObjects") {
DynamicJsonObject b;
DynamicJsonObject c;
obj.createNestedObject("a");
obj["b"] = _jsonBuffer.createObject();
obj.set("c", _jsonBuffer.createObject());
obj["b"] = b;
obj.set("c", c);
check(obj, "{\"a\":{},\"b\":{},\"c\":{}}");
}