0
我有一個json對象:[{a:"b"},{a:"c"},{a:"c"},{a:"d"},{a:"e"}]
它存儲在Json::Value
對象中。在鍵值上過濾Json :: Value對象
我似乎遇到一些麻煩與JSON對象向下過濾說:只有「A」 =「C」
我試圖做到以下幾點:
Json::Value data (*result.GetValue());
std::string filterValue = message->GetData()["Filter"];
std::string filterKey("a");
//above was just a quick variable definition for my example.
for (auto row = data.begin(); row != data.end(); ++row)
{
if (*row[filterKey].asString().compare(filterValue) != 0)
{
//Remove this row from the JSON object.
}
}
通常我我是一個JavaScript開發人員,但我想在將C++ 11的結果發送給客戶端之前進行篩選。在Javascript中它就像這樣簡單:[].filter(function(ele){ if (ele["a"] == "c") return true; return false; });
但這在這裏沒有幫助。
在Json :: Value api中,我沒有看到任何類型的過濾函數。
編輯:另一個問題是我不知道如何一切都將在循環作用,如果我刪除的項目......類似:row->clear()
或類似