Не удается получить доступ к вложенным JSON значениям после отправки через сокет - PullRequest
0 голосов
/ 22 января 2020

Я пишу код Node.JS, который действует как посредник между JavaScript клиентом и Google DialogFlow. Моя проблема заключается в том, что когда я пытаюсь повторить ответ объекта JSON на клиент через соединение через веб-сокет, вложенные значения всегда читаются как нулевые.

Мой JSON Объект:

 {
   responseId: 'xxxx-xxxxxx-xxxxxx-xxxx',
   recognitionResult: null,
   queryResult: {
     fulfillmentMessages: [ [Object] ],
     outputContexts: [ [Object], [Object], [Object] ],
     queryText: '21',
     speechRecognitionConfidence: 0,
     action: 'age',
     parameters: { fields: [Object] },
     allRequiredParamsPresent: true,
     fulfillmentText: 'All right!',
     webhookSource: '',
     webhookPayload: null,
     intent: {
       inputContextNames: [],
       events: [],
       trainingPhrases: [],
       outputContexts: [],
       parameters: [],
       messages: [],
       defaultResponsePlatforms: [],
       followupIntentInfo: [],
       name: 'Intent name',
       displayName: 'Default Intent',
       priority: 0,
       isFallback: false,
       webhookState: 'WEBHOOK_STATE_UNSPECIFIED',
       action: '',
       resetContexts: false,
       rootFollowupIntentName: '',
       parentFollowupIntentName: '',
       mlDisabled: false
     },
     intentDetectionConfidence: 1,
     diagnosticInfo: null,
     languageCode: 'en',
     sentimentAnalysisResult: null
   },
   webhookStatus: { details: [], code: 0, message: '' },
   outputAudio: <Buffer >,
   outputAudioConfig: {
     audioEncoding: 'OUTPUT_AUDIO_ENCODING_OGG_OPUS',
     sampleRateHertz: 0,
     synthesizeSpeechConfig: null
   }
 }

Я пытаюсь получить доступ к значению имени намерения. Мне также нужно передать все остальные значения.

Код моего веб-сокета:

const ws = require('ws');

const wss = new ws.Server({ noServer: true });

function onConnect(ws) {
    ws.on('message', function (newMessage) {
          ws.send(JSON.stringify(data));
    }
}

(я обрезал ненужные части)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...