StaticJsonBuffer не был объявлен в этой области - PullRequest
0 голосов
/ 16 октября 2018

Я сделал веб-сервер на модуле NodeMCU ESP8266 для отправки некоторой информации.Я могу отправить строки JSON, но если я попытаюсь сделать StaticJsonBuffer, я получу ошибку, которая не объявлена, но она включена.ArduinoJson версия 6.5.0-бета.

Вот моя часть моего кода:

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;
  }

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Вместо этого вы можете использовать динамический буфер 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;
    }
0 голосов
/ 16 октября 2018

Итак, я немного поискал на ArduinoJson.org и обнаружил, что рекомендуется использовать ArduinoJson версии 5.x.Поскольку версия 6.x находится в бета-версии, есть некоторые изменения и ошибки ...

...