#include <ArduinoJson.h>
String matrixToJson(String matrix[][2], uint8_t size) {
DynamicJsonDocument arr(300);
String resultJson;
for (int i = 0; i < size; i++) {
arr[matrix[i][0]] = String(matrix[i][1]);
}
serializeJson(arr, resultJson);
return resultJson;
}
// String deserJson(String json) {
// String res[] = json;
// return res[0];
// }
// void deserJson(uint8_t arr[], uint8_t size)
// {
// for (uint8_t i = 0; i < size; i++) {
// arr[i] = arr[i] + 10;
// }
// }
void deserJson(String json, String arr[], uint8_t size)
{
StaticJsonDocument<400> doc;
DeserializationError dsrz_error = deserializeJson(doc, json);
if (dsrz_error) {
Serial.print(F("deserializeJson() failed: "));
Serial.println(dsrz_error.f_str());
return;
}
for (uint8_t i = 0; i < size; i++) {
String tmp = doc[arr[i]];
arr[i] = tmp;
}
}
void setup() {
Serial.begin(115200);
// String req[][2] = {
// {"type", "MEASURE"},
// {"content", "1234 ppm"},
// {"measure_code", "CO2"},
// {"id", "123456789"}
// };
// String jsonResponse = matrixToJson(req, 4);
// Serial.println(jsonResponse);
// -----------------
String keys[] = {"hello", "name", "test"};
String got_json = "{\"hello\":\"gg\", \"name\":\"artur\"}";
deserJson(got_json, keys, 3);
Serial.println(keys[0]);
Serial.println(keys[1]);
Serial.println(keys[2]);
}
void loop() {
}