Работа с JSON со стороны Arduino
#include <ArduinoJson.h>
StaticJsonDocument<500> doc; // Количество элементов в дереве json
doc[«type»]=1; //Добавляем значение поле type и значение «1»
doc[«numOfPins»]=6; // То же самое
// А вот тут интереснее. Создаем массив векторов «pin». В каждом векторе может // быть сколько угодно пар
JsonArray pinTypes = doc.createNestedArray(«pin»);
Прописываем значения для каждого элемента массива.
pinTypes[0][«type»]=»INPUT»;
pinTypes[0][«name»]=»D3″;
pinTypes[0][«value»]=String(digitalRead(0));
// А здесь зачем конвертить в String ? Не знаю. Но когда парсится массив, то
//QT не может по-человечески вытащить это значение. А из String легко.
pinTypes[1][«type»]=»RESERVED»;
pinTypes[1][«name»]=»TX»;
pinTypes[1][«value»]=0;
// И так далее
String jsonDoc;
// Библиотека может серилизовать прямо в поток, например
// serializeJson(doc, Serial); Но мне нужно писать по-хитрому,
serializeJson(doc, jsonDoc); // Поэтому создаем временную переменную и…
server.send(200, «text/html», jsonDoc); // отправляем ее клиенту.