mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Update the features section of the README page
This commit is contained in:
		
							
								
								
									
										124
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								README.md
									
									
									
									
									
								
							| @@ -13,48 +13,77 @@ ArduinoJson is a C++ JSON library for Arduino and IoT (Internet Of Things). | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| * JSON decoding (comments are supported) | ||||
| * JSON encoding (with optional indentation) | ||||
| * MessagePack | ||||
| * Elegant API, easy to use | ||||
| * Fixed memory allocation (zero malloc) | ||||
| * No data duplication (zero copy) | ||||
| * Portable (written in C++98, can be used in any C++ project) | ||||
| * Self-contained (no external dependency) | ||||
| * Small footprint | ||||
| * Input and output streams | ||||
| * [100% code coverage](https://coveralls.io/github/bblanchon/ArduinoJson) | ||||
| * [Header-only library](https://en.wikipedia.org/wiki/Header-only) | ||||
| * [MIT License](https://en.wikipedia.org/wiki/MIT_License) | ||||
| * [Comprehensive documentation](https://arduinojson.org?utm_source=github&utm_medium=readme) | ||||
|  | ||||
| ## Compatibility | ||||
|  | ||||
| ArduinoJson works on the following hardware: | ||||
|  | ||||
| * <img src="https://www.arduino.cc/favicon.ico" height="16" width="16"> Arduino boards: [Uno](https://www.arduino.cc/en/Main/ArduinoBoardUno), [Due](https://www.arduino.cc/en/Main/ArduinoBoardDue), [Mini](https://www.arduino.cc/en/Main/ArduinoBoardMini), [Micro](https://www.arduino.cc/en/Main/ArduinoBoardMicro), [Yun](https://www.arduino.cc/en/Main/ArduinoBoardYun)... | ||||
| * <img src="http://espressif.com/sites/all/themes/espressif/favicon.ico" height="16" width="16"> Espressif chips: [ESP8266](https://en.wikipedia.org/wiki/ESP8266), [ESP32](https://en.wikipedia.org/wiki/ESP32) | ||||
| * <img src="https://www.wemos.cc/themes/martin-materialize-parallax/assets/favicon.ico" height="16" width="16"> WeMos boards: [D1](https://wiki.wemos.cc/products:d1:d1), [D1 mini](https://wiki.wemos.cc/products:d1:d1_mini),  ... | ||||
| * <img src="http://redbearlab.com/favicon.ico" height="16" width="16"> RedBearLab boards: [BLE Nano](http://redbearlab.com/blenano/), [BLE Mini](http://redbearlab.com/blemini/), [WiFi Micro](https://redbear.cc/product/wifi/wifi-micro.html), [LOLIN32](https://wiki.wemos.cc/products:lolin32:lolin32)... | ||||
| * <img src="https://www.pjrc.com/favicon.ico" height="16" width="16"> [Teensy](https://www.pjrc.com/teensy/) boards | ||||
| * <img src="https://software.intel.com/sites/all/themes/zero/favicon.ico" height="16" width="16"> Intel boards: Edison, Galileo... | ||||
| * <img src="https://www-assets.particle.io/images/favicon.png"  height="16" width="16"> Particle boards: [Photon](https://www.particle.io/products/hardware/photon-wifi-dev-kit), [Electron](https://www.particle.io/products/hardware/electron-cellular-dev-kit)... | ||||
| * <img src="http://www.ti.com/favicon.ico" height="16" width="16"> Texas Instruments boards: [MSP430](http://www.ti.com/microcontrollers/msp430-ultra-low-power-mcus/overview/overview.html)... | ||||
|  | ||||
| ArduinoJson compiles with zero warning on the following compilers, IDEs, and platforms: | ||||
|  | ||||
| * <img src="https://www.arduino.cc/favicon.ico" height="16" width="16"> [Arduino IDE](https://www.arduino.cc/en/Main/Software) | ||||
| * <img src="http://cdn.platformio.org/favicon.ico" height="16" width="16"> [PlatformIO](http://platformio.org/) | ||||
| * <img src="http://energia.nu/img/favicon.ico" height="16" width="16"> [Energia](http://energia.nu/) | ||||
| * <img src="http://www.visualmicro.com/pics/arduino-visual-studio-ld.png" height="16" width="16"> [Visual Micro](http://www.visualmicro.com/) | ||||
| * <img src="http://www.atmel.com/Images/favicon.ico" height="16" width="16"> [Atmel Studio](http://www.atmel.com/microsite/atmel-studio/) | ||||
| * <img src="https://www.iar.com/favicon.ico" height="16" width="16"> [IAR Embedded Workbench](https://www.iar.com/iar-embedded-workbench/) | ||||
| * <img src="http://www.st.com/etc/clientlibs/st-site/media/app/images/favicon.png" height="16" width="16"> [Atollic TrueSTUDIO](https://atollic.com/truestudio/) | ||||
| * <img src="http://www.keil.com/favicon.ico" height="16" width="16"> [Keil uVision](http://www.keil.com/) | ||||
| * <img src="http://www.microchip.com/favicon.ico" height="16" width="16"> [MPLAB X IDE](http://www.microchip.com/mplab/mplab-x-ide) | ||||
| * <img src="https://gcc.gnu.org/favicon.ico" height="16" width="16"> [GCC](https://gcc.gnu.org/) | ||||
| * <img src="https://clang.llvm.org/favicon.ico" height="16" width="16"> [Clang](https://clang.llvm.org/) | ||||
| * <img src="https://www.visualstudio.com/favicon.ico" height="16" width="16"> [Visual Studio](https://www.visualstudio.com/) | ||||
| * [JSON deserialization](https://arduinojson.org/v6/api/json/deserializejson/) | ||||
|     * [Optionally decodes UTF-16 escape sequences to UTF-8](https://arduinojson.org/v6/api/config/decode_unicode/) | ||||
|     * [Optionally stores links to the input buffer (zero-copy)](https://arduinojson.org/v6/api/json/deserializejson/) | ||||
|     * [Optionally supports comments in the input](https://arduinojson.org/v6/api/config/enable_comments/) | ||||
|     * Supports single quotes as a string delimiter | ||||
|     * Compatible with NDJSON and JSON Lines | ||||
| * [JSON serialization](https://arduinojson.org/v6/api/json/serializejson/) | ||||
|     * [Can write to a buffer or a stream](https://arduinojson.org/v6/api/json/serializejson/) | ||||
|     * [Optionally indents the document (prettified JSON)](https://arduinojson.org/v6/api/json/serializejsonpretty/) | ||||
| * [MessagePack serialization](https://arduinojson.org/v6/api/msgpack/serializemsgpack/) | ||||
| * [MessagePack deserialization](https://arduinojson.org/v6/api/msgpack/deserializemsgpack/) | ||||
| * Efficient | ||||
|     * [Twice smaller than the "official" Arduino_JSON library](https://arduinojson.org/2019/11/19/arduinojson-vs-arduino_json/) | ||||
|     * [Almost 10% faster than the "official" Arduino_JSON library](https://arduinojson.org/2019/11/19/arduinojson-vs-arduino_json/) | ||||
|     * [Consumes roughly 10% less RAM than the "official" Arduino_JSON library](https://arduinojson.org/2019/11/19/arduinojson-vs-arduino_json/) | ||||
|     * [Fixed memory allocation, no heap fragmentation](https://arduinojson.org/v6/api/jsondocument/) | ||||
|     * [Optionally works without heap memory (zero malloc)](https://arduinojson.org/v6/api/staticjsondocument/) | ||||
| * Versatile | ||||
|     * [Supports custom allocators (to use external RAM chip, for example)](https://arduinojson.org/v6/how-to/use-external-ram-on-esp32/) | ||||
|     * Supports [Arduino's `String`](https://arduinojson.org/v6/api/config/enable_arduino_string/) and [STL's `std::string`](https://arduinojson.org/v6/api/config/enable_std_string/) | ||||
|     * Supports Arduino's `Stream` and [STL's `std::istream`/`std::ostream`](https://arduinojson.org/v6/api/config/enable_std_stream/) | ||||
|     * [Supports Flash strings](https://arduinojson.org/v6/api/config/enable_progmem/) | ||||
| * Portable | ||||
|     * Usable on any C++ project (not limited to Arduino) | ||||
|     * Compatible with C++98 | ||||
|     * Zero warnings with `-Wall -Wextra -pedantic` and `/W4` | ||||
|     * [Header-only library](https://en.wikipedia.org/wiki/Header-only) | ||||
|     * Works with virtually any board | ||||
|         * Arduino boards: [Uno](https://amzn.to/38aL2ik), [Due](https://amzn.to/36YkWi2), [Micro](https://amzn.to/35WkdwG), [Nano](https://amzn.to/2QTvwRX), [Mega](https://amzn.to/36XWhuf), [Yun](https://amzn.to/30odURc), [Leonardo](https://amzn.to/36XWjlR)... | ||||
|         * Espressif chips: [ESP8266](https://amzn.to/36YluV8), [ESP32](https://amzn.to/2G4pRCB) | ||||
|         * Lolin (WeMos) boards: [D1 mini](https://amzn.to/2QUpz7q), [D1 Mini Pro](https://amzn.to/36UsGSs)... | ||||
|         * Teensy boards: [4.0](https://amzn.to/30ljXGq), [3.2](https://amzn.to/2FT0EuC), [2.0](https://amzn.to/2QXUMXj)  | ||||
|         * Particle boards: [Argon](https://amzn.to/2FQHa9X), [Boron](https://amzn.to/36WgLUd), [Electron](https://amzn.to/30vEc4k), [Photon](https://amzn.to/387F9Cd)... | ||||
|         * Texas Instruments boards: [MSP430](https://amzn.to/30nJWgg)... | ||||
|     * Tested on all major development environments | ||||
|         * [Arduino IDE](https://www.arduino.cc/en/Main/Software) | ||||
|         * [Atmel Studio](http://www.atmel.com/microsite/atmel-studio/) | ||||
|         * [Atollic TrueSTUDIO](https://atollic.com/truestudio/) | ||||
|         * [Energia](http://energia.nu/) | ||||
|         * [IAR Embedded Workbench](https://www.iar.com/iar-embedded-workbench/) | ||||
|         * [Keil uVision](http://www.keil.com/) | ||||
|         * [MPLAB X IDE](http://www.microchip.com/mplab/mplab-x-ide) | ||||
|         * [PlatformIO](http://platformio.org/) | ||||
|         * [Sloeber plugin for Eclipse](https://eclipse.baeyens.it/) | ||||
|         * [Visual Micro](http://www.visualmicro.com/) | ||||
|         * [Visual Studio](https://www.visualstudio.com/) | ||||
|     * [Even works with online compilers like wandbox.org](https://wandbox.org/permlink/t7KP7I6dVuLhqzDl) | ||||
| * Well designed | ||||
|     * [Elegant API](http://127.0.0.1:4000/v6/example/) | ||||
|     * [Thread-safe](https://en.wikipedia.org/wiki/Thread_safety) | ||||
|     * Self-contained (no external dependency) | ||||
|     * `const` friendly | ||||
|     * `for` friendly | ||||
|     * [TMP friendly](https://en.wikipedia.org/wiki/Template_metaprogramming) | ||||
| * Well tested | ||||
|     * [Unit test coverage close to 100%](https://coveralls.io/github/bblanchon/ArduinoJson?branch=6.x) | ||||
|     * Continuously tested on | ||||
|         * [Visual Studio 2010, 2012, 2013, 2015, 2017, 2019](https://ci.appveyor.com/project/bblanchon/arduinojson/branch/6.x) | ||||
|         * [GCC 4.4, 4.6, 4.7, 4.8, 4.9, 5, 6, 7, 8](https://travis-ci.org/bblanchon/ArduinoJson) | ||||
|         * [Clang 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 5.0, 6.0, 7, 8](https://travis-ci.org/bblanchon/ArduinoJson) | ||||
|     * [Continuously fuzzed with Google OSS Fuzz](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:arduinojson) | ||||
| * Well documented | ||||
|     * [Tutorials](https://arduinojson.org/v6/doc/deserialization/) | ||||
|     * [Examples](https://arduinojson.org/v6/example/) | ||||
|     * [How-tos](https://arduinojson.org/v6/example/) | ||||
|     * [FAQ](https://arduinojson.org/v6/faq/) | ||||
|     * [Book](https://arduinojson.org/book/) | ||||
| * Vibrant user community | ||||
|     * Most popular of all Arduino libraries on [GitHub](https://github.com/search?o=desc&q=arduino+library&s=stars&type=Repositories) and [PlatformIO](https://platformio.org/lib/search) | ||||
|     * [Used in hundreds of projects](https://www.hackster.io/search?i=projects&q=arduinojson) | ||||
|     * [Responsive support](https://github.com/bblanchon/ArduinoJson/issues?q=is%3Aissue+is%3Aclosed) | ||||
|  | ||||
| ## Quickstart | ||||
|  | ||||
| @@ -97,16 +126,7 @@ serializeJson(doc, Serial); | ||||
|  | ||||
| See the [tutorial on arduinojson.org](https://arduinojson.org/doc/encoding/?utm_source=github&utm_medium=readme) | ||||
|  | ||||
| ## Documentation | ||||
|  | ||||
| The documentation is available on [arduinojson.org](https://arduinojson.org/?utm_source=github&utm_medium=readme), here are some shortcuts: | ||||
|  | ||||
| * The [Examples](https://arduinojson.org/example/?utm_source=github&utm_medium=readme) show how to use the library in various situations. | ||||
| * The [API Reference](https://arduinojson.org/api/?utm_source=github&utm_medium=readme) contains the description of each class and function. | ||||
| * The [FAQ](https://arduinojson.org/faq/?utm_source=github&utm_medium=readme) has the answer to virtually every question. | ||||
| * The [ArduinoJson Assistant](https://arduinojson.org/assistant/?utm_source=github&utm_medium=readme) writes programs for you! | ||||
|  | ||||
| --- | ||||
| ## Support the project | ||||
|  | ||||
| Do you like this library? Please [star this project on GitHub](https://github.com/bblanchon/ArduinoJson/stargazers)! | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user