Tôi có đối tượng JSON này:jsoncpp. tìm đối tượng trong mảng bằng cách kết hợp giá trị
{"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
}
]
}
Ví dụ, tôi cần phải tìm một cuốn sách (s) mà quan trọng là author
bằng Petr
. Tôi có thể làm cái này như thế nào? Ngay bây giờ tôi có đoạn mã này:
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?
}
Xin cảm ơn trước.
Bạn cứ nói "nó không hoạt động". Hãy tham gia thói quen trình bày các mô tả vấn đề cụ thể, cùng với _evidence_. "Nó không hoạt động" về cơ bản là vô ích. –
@LightnessRacesinOrbit Xin chào. Tôi thực sự xin lỗi vì điều đó. Tôi đã đánh dấu giải pháp Barry là chính xác và đó là sự thật. Trong trường hợp của tôi, vấn đề là với IDE CLion của Jetbrains, hiện chỉ có sẵn khi phát hành EAP. Chỉ có một số lỗi với IDE, khi sau khi biên dịch một dự án, nó đã bắt đầu ứng dụng cũ. –