У меня проблемы с переносом головы вокруг некоторых вещей JSON. А именно, я пытаюсь получить строку из json-ответа, полученного от google translate api, который я запрашиваю.Получение данных json из вложенного массива
var translator = function() {
for (var i = 0; i < result.length; i++)
{
//Construct URI
var source =
'https://www.googleapis.com/language/translate/v2?' +
'key=MY-API-KEY-REMOVED-ON-PURPOSE&' +
'source=en&' +
'target=fr&' +
'q=' +
result[i][1]; //looping over an array, no problem there
//Receive response from server
var to_Translate =new XMLHttpRequest();
to_Translate.open("GET",source,false);
to_Translate.send();
var translated = to_Translate.responseText;
JSON.parse(translated);
translated = translated.data.translations[0].translatedText;
console.log(translated);
}
};
translator();
Где
console.log(translated);
дает
{
"data": {
"translations": [
{
"translatedText": "some stuff that's been translated"
}
]
}
}
Мой вопрос: как я могу получить доступ к значению translatedText? Я пробовал:
translated.data.translations[0].translatedText;
Но он не работает. Когда я console.log, я получаю
Uncaught TypeError: Cannot read property 'translations' of undefined
translator
(anonymous function)
Дайте мне знать, что вы, ребята, думаете!
Ребята Я только что редактировал мой вопрос. Я добавил предложения ваших парней, но у меня все еще есть небольшая проблема ... – Max
Я отредактировал свой ответ, теперь вы должны получить правильный результат. –