2016-12-16 4 views
0

Ich habe eine einfache Textdatei im JSON-Format und ich habe Probleme beim Abrufen von Werten in der "Pixel" -Array. Hier ist die Datei:Abrufen eines JSON-Objekts in einem anderen

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

Der Code, den ich um geschrieben, dies zu tun, ist die folgende:

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

ich viele Möglichkeiten versucht, es zu tun, aber ich halte die folgende Fehlermeldung erhalten:

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

ich habe auch versucht

Json::Value:ArrayIndex and root[0] 

aber ich bekomme den gleichen Fehler.
Wie kann ich die Werte im Array "Pixel" abrufen?

+0

Oh ja, es funktioniert dank jetzt richtig nutzen zu können! – iMadz

Antwort

0

Meinst du nicht root_.get("luminaire")? Immerhin ist luminaire ein Schlüsselname wie sensors.

0

Sie benötigen root_.get("luminaire")

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