you just have to insert:
["1001"] to ["1004"] before ["connected"], ["is_calibrating"] and ["shut"]
Code: Select all
// ArduinoJson - arduinojson.org
// Copyright Benoit Blanchon 2014-2019
// MIT License
//
// This example shows how to deserialize a JSON document with ArduinoJson.
#include "ArduinoJson.h"
const size_t capacity = 4*JSON_OBJECT_SIZE(3) + JSON_OBJECT_SIZE(4) + 160;
DynamicJsonDocument doc(capacity);
const char* json = "{\"1001\":{\"connected\":true,\"is_calibrating\":false,\"shut\":20},\"1002\":{\"connected\":true,\"is_calibrating\":false,\"shut\":30},\"1003\":{\"connected\":true,\"is_calibrating\":false,\"shut\":50},\"1004\":{\"connected\":true,\"is_calibrating\":false,\"shut\":100}}";
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("");
// Deserialize the JSON document
DeserializationError error = deserializeJson(doc, json);
// Fetch values.
bool conectted_1001 = doc["1001"]["connected"];
bool is_calibrating_1001 = doc["1001"]["is_calibrating"];
int shut_1001 = doc["1001"]["shut"];
bool conectted_1002 = doc["1002"]["connected"];
bool is_calibrating_1002 = doc["1002"]["is_calibrating"];
int shut_1002 = doc["1002"]["shut"];
bool conectted_1003 = doc["1003"]["connected"];
bool is_calibrating_1003 = doc["1003"]["is_calibrating"];
int shut_1003 = doc["1003"]["shut"];
bool conectted_1004 = doc["1004"]["connected"];
bool is_calibrating_1004 = doc["1004"]["is_calibrating"];
int shut_1004 = doc["1004"]["shut"];
// Print values.
Serial.print("1001");Serial.print(conectted_1001);Serial.print(is_calibrating_1001);Serial.println(shut_1001);
Serial.print("1002");Serial.print(conectted_1002);Serial.print(is_calibrating_1002);Serial.println(shut_1002);
Serial.print("1003");Serial.print(conectted_1003);Serial.print(is_calibrating_1003);Serial.println(shut_1003);
Serial.print("1004");Serial.print(conectted_1004);Serial.print(is_calibrating_1004);Serial.println(shut_1004);
}
void loop() {
// put your main code here, to run repeatedly:
}