Popularity
8.6
Declining
Activity
8.3
Declining
5,900
195
1,041

Description

It's designed to have the most intuitive API, the smallest footprint and is able to work without any allocation on the heap (no malloc).

It has been written with Arduino in mind, but it isn't linked to Arduino libraries so you can use this library in any other C++ project. For instance, it supports Aduino's String and Stream, but also std::string, std::istream and std::ostream.

Programming language: C++
License: MIT License
Tags: JSON     Serialization     Lightweight     Arduino    
Latest version: v6.19.4

ArduinoJson alternatives and similar libraries

Based on the "JSON" category.
Alternatively, view ArduinoJson alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of ArduinoJson or a related project?

Add another 'JSON' Library

README


GitHub Workflow Status Continuous Integration Fuzzing Status Coveralls branch
Arduino Library Manager PlatformIO Registry 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!

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