Я пишу в node.js и использую дочерний процесс tshark, и моя программа считывает все выходные данные tshark как событие.
Я заметил, что когда я установил tshark для вывода в JSON,он выводит очень хорошую и упорядоченную информацию в объекте JSON, но я не могу указать на какие-либо объекты внутри него.
Использование JSON.stringify (data) возвращает набор чисел.Кто-нибудь знает, как я могу надежно указать на объект в stdout?
var spawn = require('child_process').spawn,
ts = spawn('tshark',
['-i', '1', '-T', 'JSON', '-V']
);
ts.stdout.on('data', function (data) {
console.log('stdout: ' + data); // cannot point to objects here
});
ts.stderr.on('data', function (data) {
console.log('stderr: ' + data);
});
ts.on('exit', function (code) {
console.log('child process exited with code ' + code);
});
Каждый полученный пакет будет иметь свойство _source
, и я не могу указать на него даже с data._source
, он возвращает неопределенное,Не совсем уверен, как указать на свойства внутри объекта.
Редактировать: Итак, я понял это.На самом деле это был буфер, поэтому я преобразовал его в строку, а затем проанализировал строку, чтобы она стала пригодным для использования объектом.