# ArduinoJson

A C++ library for parsing and generating JSON and MessagePack on Arduino boards and other embedded and desktop C++ projects.

ArduinoJson is a C++ library for working with JSON on Arduino and other embedded systems, though it also runs on any C++ project. It deserializes JSON, optionally decoding UTF-16 escapes, accepting comments, filtering input to keep only wanted values, and reading NDJSON or JSON Lines. It serializes JSON to a buffer or a stream, with optional pretty-printing, and it also reads and writes MessagePack.

The library supports custom allocators, so it can use an external RAM chip, and works with String, std::string, std::string_view, Stream, and std::istream and std::ostream. It targets C++11 through C++17, with a separate release for C++98 and C++03, has no external dependencies, and runs as header-only code on Arduino boards such as the Uno and Mega, Espressif and Teensy boards, and many other microcontrollers.

Website: https://arduinojson.org
