У меня проблема с созданием json документа для регистрации. Я использую VisualMico в VS2019. У меня есть журнал. cpp класс с stati c Строковые объекты, которые зарезервировали пространство. Я могу установить их значения, но когда я пытаюсь поместить их в документ json, первый в порядке, следующий выглядит забавно, а затем набросок уходит на землю oop, минуя остальные мои json записи. Серийный номер o / p =
Alns-mt {"ActiveLines": "mt" - нормально} BLns-mt {"ActiveLines": "mt", - нормально "BrokenLines": "s-" - ng - также должно быть mt}
Статика и инициализация в logClass:
static String _activeLines;
static String _brokenLines;
void LogClass::Init() {
_activeLines.reserve(8);
_brokenLines.reserve(8);
_activeLines="mt";
_brokenLines="mt";
}
Функция для получения / настройки
String LogClass::ActiveLines(String value){
if(value.length() != 0)
_activeLines = value;
Serial.println("Alns-" + _activeLines);
return _activeLines;
}
Код, который использует журнал is ...
static StaticJsonDocument <ESTIMATED_JSON_SIZE> jsonDoc;
jsonDoc["ActiveLines"] = LogClass::ActiveLines();
serializeJsonPretty(jsonDoc, Serial);
Serial.println("");
jsonDoc["BrokenLines"] = LogClass::BrokenLines();
serializeJsonPretty(jsonDoc, Serial);
Serial.println("");
jsonDoc["FreeRam"] = LogClass::FreeRam();
serializeJsonPretty(jsonDoc, Serial);
Serial.println("");
Эскиз исчезает после FreeRam.
Я думал, что коснулся всех баз, но мне кажется, что мое использование Stings несовместимо. Ищите любые рекомендации или предложения ... Полное тестовое приложение можно найти по адресу - https://github.com/AbbottHMG/JsonTest
Спасибо Abbott