0

我在 NodeMCU ESP8266 模块上创建了一个 Web 服务器,用于发送一些信息。我可以发送 JSON 字符串,但如果我尝试创建一个StaticJsonBuffer未声明的错误,但我已将其包含在内。ArduinoJson 版本 6.5.0-beta。

这是我的代码的一部分:

void getData(){
  StaticJsonBuffer<200> jsonBuffer;
  JsonObject& root = jsonBuffer.createObject();
  root["Temperature"] = Temperature;
  root["Humidity"] = Humidity;
  String json;
  root.prettyPrintTo(json);
  if(server.hasArg("plain") == false){
    server.send(200, "application/json", json);
    return;
  }
4

2 回答 2

1

所以我在ArduinoJson.org上搜索了一下,发现推荐使用ArduinoJson 5.x版本。因为版本 6.x 处于测试阶段,所以有一些变化和错误......

于 2018-10-16T07:50:51.473 回答
0

您可以改用动态 JSON 缓冲区,而不必在其中初始化大小。6.5.0 不是一个稳定的版本。所以最好使用版本 5,这些是稳定版本,并且所有功能都可以正常工作。动态 JSON 缓冲区在 6.5.0 测试版中运行良好。

void getData(){
    DynamicJsonBuffer jsonBuffer;
    JsonObject& root = jsonBuffer.createObject();
    root["Temperature"] = Temperature;
    root["Humidity"] = Humidity;
    String json;
    root.prettyPrintTo(json);
    if(server.hasArg("plain") == false){
        server.send(200, "application/json", json);
        return;
    }
于 2018-10-16T07:53:44.217 回答