Глядя на документацию по rapidjson, этот код предлагается для запроса массива:
for (Value::ConstValueIterator itr = a.Begin(); itr != a.End(); ++itr)
printf("%d ", itr->GetInt());
Однако у меня есть массив массивов, например:
[ [0,2], [1,2], [4, 5], ... ]
Я хотел бы иметь два уровня для его обработки, что-то вроде этого:
for (Value::ConstValueIterator itr = a.Begin(); itr != a.End(); ++itr)
for (Value::ConstValueIterator itr2 = itr->GetArray().Begin(); itr2 != itr->GetArray().End(); ++itr2)
printf("%d ", itr2->GetInt());
Однако кажется, что itr
не имеет никакого GetArray()
или эквивалентного метода, который возвращает объект, в котором получает второй (внутренний) итератор.
ПРИМЕЧАНИЕ. я нашел это Пост с вопросами и ответами, но, похоже, он основан на получении Value
, представляющего внутренний массив. Однако я не знаю, как получить такое значение от итератора itr
(например, itr->value
не работает).