来自Watson Translator Undefined的JSON响应

问题描述 投票:1回答:1

我试图通过IBM https://www.ibm.com/watson/developercloud/alchemyvision/api/v1/#apiexplorer的API文档从我的node.js应用程序中使用Watson转换器服务

var request = require("request");
var LanguageTranslatorV3 = require('watson-developer-cloud/language-translator/v3');

var english_message

var languageTranslator = new LanguageTranslatorV3({
    version: '2018-05-01',
    username: '1234',
    password: '1234',
    url: 'https://gateway.watsonplatform.net/language-translator/api'
  });


function translatorEnglish(message) {
  var parameters = {
    text: message.text,
    model_id: 'es-en'
  };
  languageTranslator.translate(
    parameters,
    function(error, response, body) {
      if (error)
        console.log(error)
      else
        console.log(JSON.stringify(response, null, 2));
    }
  );
 }

我在日志中得到以下正确的响应

{
  "translations": [
    {
      "translation": "Hi."
    }
  ],
  "word_count": 1,
  "character_count": 4
}

但是当我尝试提取输出转换值时,我总是得到Undefined的输出。

console.log(response.translations.translation); => undefined

如果我做错了什么,你可以检查并告诉我吗?

谢谢

javascript node.js undefined ibm-watson watson-conversation
1个回答
5
投票

尝试

console.log(response.translations[0].translation); // Hi

这是因为translations是一个数组,在索引0有一个项目。

{
  "translations": [
    {
      "translation": "Hi."
    }
  ],
  "word_count": 1,
  "character_count": 4
}
© www.soinside.com 2019 - 2024. All rights reserved.