#include <ArduinoJson.h>
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
// Serialization
// ----------------------------
// ------ with String ------
JsonDocument Serialize;
String Serialize_str;
Serialize["name"] = "john";
Serialize["job"] = "chef"; // json: assigning "key" : "value" pairs
Serialize["number"][0] = 99; // assigning "array" of numbers
for (int i = 1; i<=4; i++)
Serialize["number"][i] = 99 + i;
Serialize["number"].add(200);
serializeJson (Serialize, Serialize_str);
Serial.print("Ausgabe von Serialize_str: "); Serial.println(Serialize_str);
// Serial.println(Serialize["name"]); // Ausgabe eines JsonDocuments: not working !!
String st = Serialize["name"];
Serial.print("Ausgabe von Serialize Name: "); Serial.println(st);
Serialize["job"] = "worker";
const char* j = Serialize["job"];
Serial.println(j);
Serialize["job"] = "everything";
String s = Serialize["job"];
Serial.println(s);
// const chars = Serialize["job"];
// j = "everything";
// ------ with char[] ------
JsonDocument jd;
char jd_arr[100];
jd["a"] = 99;
jd["b"] = 100;
for (int i = 0; i<5; i++)
jd["number"].add(1000+i);
serializeJson (jd, jd_arr);
Serial.println(jd_arr);
jd["a"] = 999;
jd["b"] = 1000;
float f = 666.66;
jd["a"] = f;
serializeJson (jd, jd_arr);
Serial.println(jd_arr);
Serial.println(f);
// De-Serialization
// ----------------------------
// char input[MAX_INPUT_LENGTH];
// ------ with char[] ------
char jsonChar[] = "{\"sensor\":\"gps\",\"time\":1351824120,\"data\":[48.756080,2.302038]}";
JsonDocument jdoc;
// deserializeJson (jdoc, jsonChar); // DeSerilization-Error only here availaable!
DeserializationError error = deserializeJson (jdoc, jsonChar);
if (error) {
Serial.print("deserializeJson() returned ");
Serial.println(error.c_str());
return;
}
else
{
String sensor = jdoc["sensor"];
Serial.println("Ausgabe der Daten:");
Serial.println(sensor);
// Serial.println(jdoc["sensor"]);
Serial.println(jsonChar);
}
DynamicJsonDocument doc(1024);
DeserializationError err = deserializeJson(doc, "!!NOT JSON!!");
if (err) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(err.c_str());
};
}
void loop() {
}