Subject to changeVersion 6 is currently in beta, so the API
Unless you need the new features of version 6 (e.g. MessagePack), please use version 5.
Version 6 should stay in beta stage until 2019.
Defines the maximum number of nested object and array allowed when a JSON document is deserialize. This is a security feature to prevent stack overflow.
deserializeMsgPack() both calls a recursive function. Each time an array or an object is opened in the input document, the recursive function calls itself. As a consequence, the memory consumption (more specifically the stack memory consumption) is proportional to the number of nesting level (the deepness if you prefer) of the input document. ArduinoJson limits the number of nesting level to prevent a stack overflow that a deep input document would cause.
StaticJsonDocument<200> doc; char json = "[[]]"; doc.nestingLimit = 10: deserializeJson(doc, json); // return DeserializationError::Ok doc.nestingLimit = 2; deserializeJson(doc, json); // returns DeserializationError::TooDeep