#include <ArduinoJson.h>
String message="{\"Pw\":406,{\"Pf\":0.46,{\"Pva\":795}";
float ValJson(String nom, String Json) {
int p = Json.indexOf(nom + "\":");
Json = Json.substring(p);
p = Json.indexOf(":");
Json = Json.substring(p + 1);
int q = Json.indexOf(",");
p = Json.indexOf("}");
p = min(p, q);
float val = 0;
if (p > 0) {
Json = Json.substring(0, p);
val = Json.toFloat();
}
return val;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
Serial.println(message);
Serial.println("\n Modele ValJson");
Serial.println(ValJson("Pw",message));
Serial.println(ValJson("Pf",message));
Serial.println(ValJson("Pva",message));
Serial.println("\n Modele ArduinoJson");
JsonDocument doc;
DeserializationError error = deserializeJson(doc, message);
float Pw = doc["Pw"]; // 406
float Pf = doc["Pf"]; // 0.46
float Pva = doc["Pva"]; // 795
Serial.println(Pw);
Serial.println(Pf);
Serial.println(Pva);
if (error) {
Serial.print("deserializeJson() failed: ");
Serial.println(error.c_str());
return;
}
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}