FloKra bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
..
.github bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
.vscode bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
examples bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
extras bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
src bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
.clang-format bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
.gitattributes bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
.gitignore bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
.mbedignore bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
.prettierignore bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
ArduinoJson.h bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
CHANGELOG.md bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
CMakeLists.txt bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
CONTRIBUTING.md bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
LICENSE.txt bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
README.md bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
SUPPORT.md bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
appveyor.yml bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
component.mk bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
idf_component.yml bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
keywords.txt bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
library.json bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos
library.properties bafd39560a 2023-02-17 - 2023-03-03 %!s(int64=2) %!d(string=hai) anos

README.md

ArduinoJson


GitHub Workflow Status Continuous Integration Fuzzing Status Coveralls branch
Arduino Library Manager PlatformIO Registry ESP IDF
GitHub stars GitHub Sponsors

ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things).

Features

Quickstart

Deserialization

Here is a program that parses a JSON document with ArduinoJson.

char json[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";

DynamicJsonDocument doc(1024);
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

Serialization

Here is a program that generates a JSON document with ArduinoJson:

DynamicJsonDocument doc(1024);

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

Sponsors

ArduinoJson is thankful to its sponsors. Please give them a visit; they deserve it!

Programming Electronics Academy

1technophile

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 ⭐.