本篇博文介绍,基于jsoncpp库下的操作json数据,如何删除满足条件的数据。
问题起源
想要用jsoncpp循环删除json文件里的内容.
问题解决方案
利用jsoncpp的函数removeIndex
Json::Value del;
testcases.removeIndex(1,&del);
这句话的含义是删除index为1的内容,并将删除的数据传给del值。如果循环呢。’
假如json文件里的有
"TestCases" : [
{
"Enable" : true
},
{
"Enable" : true
},
{
"Enable" : true
},
{
"Enable" : false
}
]
想把enable为false的内容删除,那么我可以这样子写就变成了循环删除了。
Json::Value& testCases = root["TestCases"];
Json::Value del;
for(Json::ArrayIndex i = 0;i< testCases.size();i++){
if(!testCases[i]["Enable"].asBool()){
testCases.removeIndex(i,&del);
i--;
}
}