1

寻找一些建议,我正在尝试使用 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" and sensors_0["value"] = 400),我会得到我想要的确切 JSON 结构,而无需键:

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

我可能做错了什么?

4

0 回答 0