检查 json 数组中的每个值是否存在于其他 json 文件中
check whether each value in json array are present in other json file
我有一个json数组
"requiredOnCreate": [
"Destination",
"EventTypes",
"Protocol"
]
我想检查此 json 数组中存在的所有值是否作为键存在于此 json 文件中(其他 json 文件)
{"Destination":"100.10.8.8",
"EventTypes":"ResourceUpdated",
"Protocol":"Redfish"}
我尝试了很多可能性,但我可以一次检查每个键。
我想写条件,如果 json 数组中的所有值都存在于这个 json 文件中。
您可以遍历第一个数组,并检查第二个对象中是否有合适的值。
维护一个计数器,当第一个数组中的元素数等于第二个对象中找到的元素数时,第一个数组中的所有值都在第二个数组中。像这样(未经测试):
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;
我有一个json数组
"requiredOnCreate": [
"Destination",
"EventTypes",
"Protocol"
]
我想检查此 json 数组中存在的所有值是否作为键存在于此 json 文件中(其他 json 文件)
{"Destination":"100.10.8.8",
"EventTypes":"ResourceUpdated",
"Protocol":"Redfish"}
我尝试了很多可能性,但我可以一次检查每个键。 我想写条件,如果 json 数组中的所有值都存在于这个 json 文件中。
您可以遍历第一个数组,并检查第二个对象中是否有合适的值。
维护一个计数器,当第一个数组中的元素数等于第二个对象中找到的元素数时,第一个数组中的所有值都在第二个数组中。像这样(未经测试):
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;