ho questo oggetto JSON:jsoncpp. trovare l'oggetto nella matrice facendo corrispondere valore
{"books":[
{
"author" : "Petr",
"book_name" : "Test1",
"pages" : 200,
"year" : 2002
},
{
"author" : "Petr",
"book_name" : "Test2",
"pages" : 0,
"year" : 0
},
{
"author" : "STO",
"book_name" : "Rocks",
"pages" : 100,
"year" : 2002
}
]
}
Ad esempio, ho bisogno di trovare un libro (s) che author
chiave è uguale a Petr
. Come posso fare questo? In questo momento ho questo codice:
Json::Value findBook(){
Json::Value root = getRoot();
cout<<root["books"].toStyledString()<<endl; //Prints JSON array of books mentioned above
string searchKey;
cout<<"Enter search key: ";
cin>>searchKey;
string searchValue;
cout<<"Enter search value: ";
cin>>searchValue;
Json::Value foundBooks = root["books"]???; // How can I get here a list of books where searchKey is equal to searchValue?
}
Grazie in anticipo.
Continui a dire "non funziona". Si prega di prendere l'abitudine di presentare descrizioni dei problemi concreti, insieme a _evidence_. "Non funziona" è fondamentalmente inutile. –
@LightnessRacesinOrbit Ciao. Mi dispiace davvero per quello. Ho contrassegnato la soluzione di Barry come corretta ed è vero. Nel mio caso il problema era con IDE CLion di Jetbrains, che è attualmente disponibile solo come versione EAP. C'era solo qualche bug con IDE, quando dopo aver compilato un progetto ha avviato la vecchia app. –