ArduinoJson v6.0.0-beta Release Notes

Release Date: 2018-06-07 // almost 6 years ago
    • ➕ Added DynamicJsonDocument and StaticJsonDocument
    • ➕ Added deserializeJson()
    • ➕ Added serializeJson() and serializeJsonPretty()
    • ➕ Added measureJson() and measureJsonPretty()
    • ➕ Added serializeMsgPack(), deserializeMsgPack() and measureMsgPack() (issue #358)
    • ➕ Added example MsgPackParser.ino (issue #358)
    • ➕ Added support for non zero-terminated strings (issue #704)
    • ✂ Removed JsonBuffer::parseArray(), parseObject() and parse()
    • ✂ Removed JsonBuffer::createArray() and createObject()
    • ✂ Removed printTo() and prettyPrintTo()
    • ✂ Removed measureLength() and measurePrettyLength()
    • ✂ Removed all deprecated features

    BREAKING CHANGES

    Deserialization

    Old code:

    DynamicJsonBuffer jb;
    📜 > JsonObject& obj = jb.parseObject(json);
    if (obj.success()) {
    
    }
    

    New code:

    DynamicJsonDocument doc;
    DeserializationError error = deserializeJson(doc, json);
    if (error) {
    
    }
    JsonObject& obj = doc.as<JsonObject>();
    

    Serialization

    Old code:

    DynamicJsonBuffer jb;
    JsonObject& obj = jb.createObject();
    obj["key"] = "value";
    🖨 > obj.printTo(Serial);
    

    New code:

    DynamicJsonDocument obj;
    JsonObject& obj = doc.to<JsonObject>();
    obj["key"] = "value";
    serializeJson(doc, Serial);