ArduinoJson 6.15.2: JsonObject не называет тип

Ищу совета, пытаюсь работать с библиотекой ArduinoJson. Проблема заключается в приведенном ниже коде:

#include <ArduinoJson.h>

const size_t capacity = JSON_ARRAY_SIZE(3) + JSON_OBJECT_SIZE(1) + 3*JSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(6);
DynamicJsonDocument data(capacity);

JsonObject root = data.to<JsonObject>();
JsonArray sensors = root.createNestedArray("sensors");
JsonObject sensors_0  = sensors.createNestedObject();
sensors_0["type"] = "co2";
sensors_0["value"] = 400;

JsonObject  gps_obj = sensors.createNestedObject();
JsonObject gps_value_obj = gps_obj.createNestedObject("value");

void setup() {
  Serial.begin(115200);
  serializeJson(data, Serial);
}

void loop() {
  // not used
}

Ошибка:

'sensors_0' does not name a type

Это следует за кодом документации на https://arduinojson.org/v6/api/jsonobject/createnestedobject/

Вещи, которые я пробовал:

  1. Пробовал код прямо из документации выше (получить ту же ошибку)
  2. Проверил папку библиотеки на предмет повторения структуры каталогов.
  3. Если я удалю строки с ошибками (sensor_0["type"] = "co2" и sensor_0["value"] = 400), я получу точную структуру JSON без ключей:

{"sensors":[{},{"value":{}}]}

Что я делаю не так?

1 ответ

Перейдите ниже к функции setup()sensors_0["type"] = "co2"; sensors_0["value"] = 400;

Другие вопросы по тегам