Input:
[
{
"{#SNMPINDEX}": "1",
"{#A}": "1",
"{#B}": "1"
},
{
"{#SNMPINDEX}": "2",
"{#A}": "1",
"{#B}": "1"
},
{
"{#SNMPINDEX}": "3",
"{#A}": "1"
}
]
Solution 1:
let list = JSON.parse(value);
let fields = '{#SNMPINDEX},{#A},{#B}'.split(',');
let result = [];
let keys;
for (var i = 0; i < list.length; i++) {
keys = fields.length;
for (field in fields) {
if (fields[field] in list[i]) {
keys--;
continue;
}
break;
}
if (keys == 0) {
result.push(list[i]);
}
}
Solution 2:
value = JSON.parse(value);
result = [];
value.forEach(function (item) {
if (typeof item === 'object' && typeof item['{#A}'] !== 'undefined' && typeof item['{#B}'] !== 'undefined') {
result.push(item);
}
});
return JSON.stringify(result);
Native JSONPath:
$[?(@["{#A}"] && @["{#B}"])]
No comments:
Post a Comment