我正在尝试通过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
可以请您检查一下并让我知道我做错了什么吗?
谢谢
答案 0 :(得分:5)
尝试
console.log(response.translations[0].translation); // Hi
这是因为translations
是一个数组,并且在索引0
处有一个项目。
{
"translations": [
{
"translation": "Hi."
}
],
"word_count": 1,
"character_count": 4
}