Я не могу указать на объекты в моем выводе tshark JSon - PullRequest
0 голосов
/ 06 февраля 2019

Я пишу в 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, он возвращает неопределенное,Не совсем уверен, как указать на свойства внутри объекта.

Редактировать: Итак, я понял это.На самом деле это был буфер, поэтому я преобразовал его в строку, а затем проанализировал строку, чтобы она стала пригодным для использования объектом.

...