Input:
[
{
"{#SNMPINDEX}": "192.168.49.2",
"{#IPADENTIFINDEX}": "9"
},
{
"{#SNMPINDEX}": "9",
"{#IFOPERSTATUS}": "1",
"{#IFADMINSTATUS}": "1",
"{#IFALIAS}": "",
"{#IFNAME}": "ether7",
"{#IFDESCR}": "ether7",
"{#IFTYPE}": "6"
}
]
Preprocessing:
var values = JSON.parse(value);
var ipadentifindexes = [];
var snmpindexes = {};
var result = [];
var snmpindex, ipadentifindex, entry;
for (var i = 0; i < values.length; i++) {
if ('{#SNMPINDEX}' in values[i]) {
snmpindex = values[i]['{#SNMPINDEX}'];
snmpindexes[snmpindex] = values[i];
}
if ('{#IPADENTIFINDEX}' in values[i]) {
ipadentifindexes.push({value: values[i]['{#IPADENTIFINDEX}'], '{#SNMPINDEX}': values[i]['{#SNMPINDEX}']});
}
}
for (var i = 0; i < ipadentifindexes.length; i++) {
if (ipadentifindexes[i].value in snmpindexes) {
entry = snmpindexes[ipadentifindexes[i].value];
result.push({
'{#IPADDRESS}': ipadentifindexes[i]['{#SNMPINDEX}'],
'{#SNMPINDEX}': entry['{#SNMPINDEX}'],
'{#IFOPERSTATUS}': entry['{#IFOPERSTATUS}'],
'{#IFADMINSTATUS}': entry['{#IFADMINSTATUS}'],
'{#IFALIAS}': entry['{#IFALIAS}'],
'{#IFNAME}': entry['{#IFNAME}'],
'{#IFDESCR}': entry['{#IFDESCR}'],
'{#IFTYPE}': entry['{#IFTYPE}']
});
}
}
return JSON.stringify(result);
Output:
[
{
"{#IPADDRESS}": "192.168.49.2",
"{#SNMPINDEX}": "9",
"{#IFOPERSTATUS}": "1",
"{#IFADMINSTATUS}": "1",
"{#IFALIAS}": "",
"{#IFNAME}": "ether7",
"{#IFDESCR}": "ether7",
"{#IFTYPE}": "6"
}
]
No comments:
Post a Comment