📟 JSON library for Arduino and embedded C++. Simple and efficient.
ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things).
String
, std::string
, and std::string_view
Stream
and std::istream
/std::ostream
-Wall -Wextra -pedantic
and /W4
const
friendlyfor
friendlyHere is a program that parses a JSON document with ArduinoJson.
const char* json = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
JsonDocument doc;
deserializeJson(doc, json);
const char* sensor = doc["sensor"];
long time = doc["time"];
double latitude = doc["data"][0];
double longitude = doc["data"][1];
See the tutorial on arduinojson.org
Here is a program that generates a JSON document with ArduinoJson:
JsonDocument doc;
doc["sensor"] = "gps";
doc["time"] = 1351824120;
doc["data"][0] = 48.756080;
doc["data"][1] = 2.302038;
serializeJson(doc, Serial);
// This prints:
// {"sensor":"gps","time":1351824120,"data":[48.756080,2.302038]}
See the tutorial on arduinojson.org
ArduinoJson is thankful to its sponsors. Please give them a visit; they deserve it!
If you run a commercial project that embeds ArduinoJson, think about sponsoring the library’s development: it ensures the code that your products rely on stays actively maintained. It can also give your project some exposure to the makers’ community.
If you are an individual user and want to support the development (or give a sign of appreciation), consider purchasing the book Mastering ArduinoJson ❤, or simply cast a star ⭐.