2016-06-21 12 views
0

Я работаю над SNMP в узле красного цвета.snmp concatenation (часть вывода массива с oid)

Я хочу видеть callActiveCallState, поэтому я делаю таблицу snmp на этом oid 1.3.6.1.2.1.10.21.1.3.1, чтобы увидеть результат «индекса строки».

Я пишу функцию, которая объединяет rowIndex из вывода таблицы snmp с этим oid 1.3.6.1.2.1.10.21.1.3.1.1.9.

Я делаю это, потому что мне нужен вывод этого слова «1.3.6.1.2.1.10.21.1.3.1.1.9.9. Индекс».

Так функция, что я пишу это:

msg.oid = "1.3.6.1.2.1.10.21.1.3.1.1.9"; 
msg.oid += "."+ msg.payload[0]; 
return msg; 

, но у меня есть проблема о payload[0].

любая идея? Спасибо заранее.

+1

Вы должны предоставить более подробную информацию. Что такое 'msg.payload'? Вы можете распечатать его с помощью 'console.log (msg.payload)' перед кодом, который вы показываете? Таким образом, вы можете видеть, что происходит. –

ответ

0

вот вывод таблицы snmp (это msg.payload): он возвращает объект.

{ "topic": "", "payload": { "130277300.1": { "3": [ 53, 50, 56 ], "4": [], "5": 1, "6": 26, "7": 0, "8": 130278301, "9": 4, "10": 2, "11": 0, "12": 2, "13": 2783, "14": 445280, "15": 2781, "16": 444960 }, "130277870.1": { "3": [ 51, 48, 51, 48, 48, 51, 51, 48, 57, 50, 55, 48 ], "4": [], "5": 3030, "6": 54, "7": 4, "8": 130278300, "9": 4, "10": 1, "11": 0, "12": 2, "13": 2781, "14": 467208, "15": 2784, "16": 445440 } }, "_msgid": "50c956bf.af36a8", "oid": "1.3.6.1.2.1.10.21.1.3.1" } 

Мне нужно извлечь из этого вывода 2 строки индексируются: 130277300.1 and 130277870.1 и сцепить его с OID

+0

@David González – aline

+0

Полезная нагрузка - это объект, а не массив. Доступ к нему осуществляется с помощью таких ключей: 'msg.payload ['130277300.1']' и равно '{"3": ... и т. Д.} '. Поэтому вам нужно знать 130277300.1 или получить вслепую первый ключ. –

+0

Я хочу получить доступ к первому ключу, но он не работает. – aline