寻找一些建议,我正在尝试使用 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/上的文档代码
我尝试过的事情:
- 直接从上面的文档中尝试过代码(得到相同的错误)
- 检查库文件夹中的目录结构重复。
- 如果我删除错误行(sensors_0["type"] = "co2" and sensors_0["value"] = 400),我会得到我想要的确切 JSON 结构,而无需键:
{"sensors":[{},{"value":{}}]}
我可能做错了什么?