Определить тип объекта JSONNode в libjson

мы переключаем Json-библиотеки с JsonCpp на libJson. JsonCpp имеет приятные функции для определения типа объекта значения json. Есть ли эквивалентный способ получения этой информации в libjson?

Например, используя JsonCpp, мы имеем следующее:

Json::Value property = properties[propertyName.get_utf8()];

if (property.isInt())
{
// Do Something
}
else if (property.isUInt())
{
// Do Something
}
else if (property.isDouble())
{
// Do Something
}
else if ( property.isString() )
{
// Do Something
}

Есть ли способ определить, имеет ли JSONNode строку, int или double. Я знаю, что вы можете получить тип JSONNode, но вы можете получить тип объекта для значения в этом узле. Например, если у меня есть следующее:

JSONNode root(JSON_NODE);
node.push_back(JSONNode("", "node"));
node.push_back(JSONNode("", 10));
node.push_back(JSONNode("", 21.5f));
node.push_back(JSONNode("", true));

Можно ли определить, что первый узел в корне содержит строку, второй int, третий float и т. Д.?

0

Решение

Проверка типа, по-видимому, является единственным способом сделать это, хорошо, но это не очень точно, поскольку вы можете только проверить, является ли это число, но не является ли оно целым числом типа double.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]