Как определить, является ли JSON объектом или массивом в cpp, и преобразует ли объект его в массив?

Я искал это, но нашел ответы относительно Java.

Долгое время я получал ответы JSON в виде массива, даже когда у меня был только один ответ.
Пример:

  {"intervention":

[
{
"id":"3",
"subject":"dddd",
"details":"dddd",
"beginDate":"2012-03-08T00:00:00+01:00",
"endDate":"2012-03-18T00:00:00+01:00",
"campus":
{
"id":"2",
"name":"paris"}
}
]
}

теперь я могу получить его как массив или как объект. имея в виду эти [ , ] больше не появляются.
Как вы можете догадаться, мой код разрушается, так как я использую его в качестве массива ..

Я хочу сделать что-то подобное:

if (parsedJson["intervention"] == jsonObject])
covertObjectToArray

Я попробовал (псевдо):

std::string tmp = parsedJson["intervention"].asString()
if (firstChar is "{")
{
concat : "[ + tmp + ] ";
parseStringBackToJSon
}

но он разбился!

не могли бы вы помочь?

1

Решение

Если я правильно понял ваш первоначальный вопрос и комментарии, вы хотели бы преобразовать элемент в дереве JSon, если это простой объект, в массив, содержащий этот объект. Я тоже не знаком с этой библиотекой, но для меня это было бы что-то вроде.

Value & v = parseJSon["intervention"];
if(v.isObject()) {
Value vcopy = v;
v.clear();
v.append(vcopy);
}

Просто фантазийный код на основе API док.

0

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


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