检查json数组中的每个值是否都存在于其他json文件中

时间:2018-02-05 08:26:38

标签: c++ arrays json jsoncpp

我有一个json数组

"requiredOnCreate": [
"Destination",
"EventTypes",
"Protocol"
 ]

我想检查此json数组中存在的所有值是否都作为键存在于此json文件中(其他json文件)

{"Destination":"100.10.8.8",
"EventTypes":"ResourceUpdated",
"Protocol":"Redfish"}

我尝试了很多可能性,但我可以一次检查每个键。 如果json数组中的所有值都存在于此json文件中,我想写条件。

1 个答案:

答案 0 :(得分:0)

您可以遍历第一个数组,并检查第二个对象中是否有适当的值。

维护一个计数器,当第一个数组中的元素数等于第二个对象中找到的元素数时,第一个数组中的所有值都在第二个对象中。像这样(未经测试):

bool all_found = false;
int n = 0;
for (Json::Value::iterator i = required.begin(); i != required.end(); ++i) {
    if (!other[*i].isNull())
       ++n;
}

if (n == required.size())
    all_found = true;