ArduinoJSON;проверить, существует ли свойство в JSON / Conversion - PullRequest
0 голосов
/ 27 февраля 2019

У меня работает код на микроконтроллере, и я анализирую полученную им управляющую команду.

Команда - JSON, и выглядит примерно так ...

{[PARAMTER_1]:[VALUE_1], [...] , [PARAMTER_N]:[VALUE_N]}

Так что это может быть ...

{"opMode"=1, "StringA" = "Hello"}

или это может быть

{"brightness"=5, "StringB"="Goodbye"}

Как проверить, включен ли параметр?

Например,если я обработаю этот код:

String command = <JSON COMMAND>
char conString[200];

command.toCharArray(conString, sizeof(conString));
StaticJsonBuffer<1000> jsonBuffer;
JsonObject& root = jsonBuffer.parseObject(conString);

Как я могу проверить итоговые выходные данные root ["PARAMTER"], чтобы увидеть, существуют ли они?Проблема в том, что если я просто сделаю что-то вроде ...

resultString = root["StringA"];
resultInt    = root["opMode"];

Если они существуют, но "" и 0, они вернут те же значения, как если бы они не были включены в JSON в первомplace.

Нужно ли использовать что-то вроде command.indexOf ("opMode") в необработанной строке JSON, чтобы убедиться, что она есть?(В этом примере это сработало бы. Но с более сложным JSON, кажется, много работы, чтобы убедиться, что ответ действителен / существует)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...