2016-12-16 8 views
0

У меня есть простой текстовый файл формата JSON, и у меня возникают некоторые проблемы с получением значений в массиве «пиксель». Вот файл:Извлечение объекта JSON в другой

{ "luminaire" : 
    { "sensors": 
    { "pixel" : [2000,2001,2002] } 
    } 
} 

Код я написал для того, чтобы сделать это следующим образом:

//After parsing success...  
Json::Value pixel = root_["luminaire"].get("sensors" , "nothing").get("pixel" , "nopixel"); 
int value = pixel[0].asInt(); 

Я перепробовал много способов сделать это, но я получаю следующее сообщение об ошибке:

terminate called after throwing an instance of 'Json::LogicError' 
what(): in Json::Value::operator[](ArrayIndex): requires arrayValue 

Я также попытался

Json::Value:ArrayIndex and root[0] 

, но я получаю ту же ошибку.
Как получить значения в массиве «пиксель»?

+0

Ах да прямо он работает сейчас спасибо! – iMadz

ответ

0

Вы хотите сказать root_.get("luminaire")? В конце концов, luminaire - это ключевое имя, как sensors.

0

Вы должны использовать root_.get("luminaire")

root_.get("luminaire").get("sensors" , "nothing").get("pixel" , "nopixel"); 
Смежные вопросы