ArduinoJson: Difference between revisions
From Leo's Notes
This page was last edited on 26 July 2020, at 22:46.
Created page with "ArduinoJson is an Arduino library that makes it easier to parse and generate JSON output. This is useful to save multiple parameters into a config file in SPIFFS or to generat..." |
mNo edit summary |
||
| Line 47: | Line 47: | ||
* Project Website: https://arduinojson.org/ | * Project Website: https://arduinojson.org/ | ||
{{Navbox Tinkering}} | |||
[[Category:Tinkering]] | |||
Latest revision as of 22:46, 26 July 2020
ArduinoJson is an Arduino library that makes it easier to parse and generate JSON output. This is useful to save multiple parameters into a config file in SPIFFS or to generate or parse MQTT messages.
Usage
Install the ArduinoJson library in the Arduino library manager. Be aware that the latest version of ArduinoJson is version 6 and is not compatible with version 5.
AdrduinoJson 5
Include the header :
#include <ArduinoJson.h>
To generate JSON output, create a new JsonObject and use it like a dictionary. Use printTo() to generate the JSON output.
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.createObject();
# You can specify values with various types. Eg. char* or literal strings
json["name"] = sensor_name;
json["command"] = "push";
# Floats and ints
json["measurement_f"] = 12.2;
json["measurement_i"] = 12;
# Boolean
json["measurement_b"] = true;
# Convert into a JSON message as char array
char payload[256];
json.printTo(payload);
To parse JSON data:
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.parseObject(jsonpayload);
// Copy out the strings or do parsing as necessary.
if (json.success()) {
strcpy(mqtt_server, json["mqtt_server"]);
mqtt_port = atoi(json["mqtt_port"])
}
See Also
- Project Website: https://arduinojson.org/