工作中可能会遇到这种情况:想用json变量的内容但又不需要用全部,想把不需要的项删除掉。此时removeMember派上了用场。removeMember有好几个重载的版本,这里只讲3个常用的版本。
1,removeMember普通成员
void removeMember()
{
 Json::Value Sample;
 Sample["channel"] = 10;
 Sample["format"] = "H264";
 Json::Value del; //保存remove 项对应的值
 Sample.removeMember("channel", &del);
 printf("Sample = %s\ndel: %s\n", Sample.toStyledString().c_str(), del.toStyledString().c_str());
}
把channel项删除,结果:

2,removeMember 对象
void removeMember2()
{
 Json::Value Sample;
 Sample["channel"] = 10;
 Sample["format"] = "H264";
 Json::Value test;
 test["info"] = Sample;
 test["time"] = "134530943";
 printf("test = %s\n", test.toStyledString().c_str());
 Json::Value del; //保存remove 项对应的值
 test.removeMember("info", &del);
 printf("after remove = %s\n", test.toStyledString().c_str());
}
把info对象删除,结果:

3,removeMember 数组成员
void removeMember3()
{
 Json::Value Sample;
 Sample[0] = "0";
 Sample[1] = "1";
 Sample[2] = "2";
 Sample[3] = "3";
 printf("Sample = %s\n", Sample.toStyledString().c_str());
 Json::Value del;
 Sample.removeIndex(1, &del);
 printf("after remove = %s\n", Sample.toStyledString().c_str());
}
把下标为1的数组元素删除,结果:

 
                    
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号