ArduinoJson 6.15.2:JsonObject没有命名类型

ArduinoJson 6.15.2: JsonObject does not name a type

本文关键字:类型 JsonObject ArduinoJson      更新时间:2023-10-16

为了寻求一些建议,我正在尝试使用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. 如果我去掉错误行(sensors_0["type"]="co2"和sensors_0["value"]=400(,我就得到了我想要的没有键的JSON结构:

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

我可能做错了什么?

移动到下面的setup((函数sensors_0["type"] = "co2";sensors_0["value"] = 400;