在另一个对象中检索 JSON 对象

Retrieving a JSON object within another one

我有一个简单的 JSON 格式文本文件,但在 "pixel" 数组中检索值时遇到一些问题。 这是文件:

{ "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]

但我得到了同样的错误。
如何检索 "pixel" 数组中的值?

你不是说 root_.get("luminaire") 吗?毕竟,luminaire 就像 sensors.

一样是键名

您需要使用root_.get("luminaire")

root_.get("luminaire").get("sensors" , "nothing").get("pixel" , "nopixel");