我有一个简单的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 :(得分:0)
你的意思是root_.get("luminaire")
?毕竟,luminaire
是一个关键名称,就像sensors
一样。
答案 1 :(得分:0)
您需要使用root_.get("luminaire")
root_.get("luminaire").get("sensors" , "nothing").get("pixel" , "nopixel");