This is the detailed documentation of every class and function of the ArduinoJson library. Some parts have been simplified to be easier to understand, so if you look at the source code, you might see some differences.

Entities

JsonArray
Stores an array of JsonVariant
JsonObject
Stores a collection of key-value pair where each key is a string and each value is a JsonVariant
JsonVariant
Stores any kind of value allowed in a JSON document: int, float, array, object…

Utilities

JsonBuffer
Owns the memory for JsonArray and JsonObject
RawJson()
Allows to insert preformatted pieces in a JSON document
ARDUINOJSON_VERSION
Tells which version of ArduinoJson is installed

Compile time configuration

ARDUINOJSON_DEFAULT_NESTING_LIMIT
Defines the default nesting limit
ARDUINOJSON_ENABLE_ARDUINO_STRING
Controls the support of the Arduino String class
ARDUINOJSON_ENABLE_PROGMEM
Controls the support of Flash strings
ARDUINOJSON_ENABLE_STD_STREAM
Controls the support of the std::istream/std::ostream
ARDUINOJSON_ENABLE_STD_STRING
Controls the support of the std::string class
ARDUINOJSON_NEGATIVE_EXPONENTIATION_THRESHOLD
Controls the exponentiation of small floating-point values
ARDUINOJSON_POSITIVE_EXPONENTIATION_THRESHOLD
Controls the exponentiation of large floating-point values
ARDUINOJSON_USE_DOUBLE
Selects the storage type for floating-point values
ARDUINOJSON_USE_LONG_LONG
Selects the storage type for integral values