【已解决】jsoncpp循环删除满足条件的数据

本篇博文介绍,基于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--;
	}

}

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/131130826
今日推荐