在JSON库中,很容易创建ArduinoJson条目,如下所示。
StaticJsonDocument<512> json_doc;
String some_string = "Hello there!";
json_doc["some_string"] = some_string;问题是,检查条目是否已成功创建的最佳方法是什么?这将允许实现错误处理,如果创建的条目随着时间的推移而变化和增长,则可以快速发现错误。
发布于 2020-01-02 14:42:17
只需测试添加的节点是否具有非空值。如果在您尝试创建节点后,该节点的值为空值,则该节点未被创建。
这里有一个简单的草图来说明这个测试:
#include <ArduinoJson.h>
StaticJsonDocument<100> json_doc;
int nodeNumber = 0;
boolean ranOut = false;
void setup() {
Serial.begin(9600);
}
void loop() {
if (ranOut) return;
String nodeName(nodeNumber++);
String nodeContent = nodeName + " thing";
json_doc[nodeName] = nodeContent;
if (!json_doc[nodeName]) {
ranOut = true;
Serial.print("Ran out at ");
Serial.println(nodeNumber);
}
}当我在我的Arduino Uno上运行这个Sketch时,它产生了:
Ran out at 6也就是说,它成功创建了从json_doc"0“到json_doc"5”的节点,并在尝试创建json_doc"6“时耗尽了空间。
https://stackoverflow.com/questions/59462266
复制相似问题