Вывод определённых данных из массива json со стороннего api

Для разработки телеграм бота, мне необходимо реализовать функцию выдачи данных пользователю, полученных посредством API. Используется связка Telegraf bot api + Axios. Для начала, покажу пример кода полученного по api. Json:

{
total: 1,
count: 1,
offset: 0,
limit: 200,
items: [
{
id: 123456,
orderBy: 10,
hdThumbnailUrl: "",
thumbnailUrl: "",
originalImageUrl: "",
imageUrl: "",
originalImage: {
url: "",
width: 500,
height: 500
},
thumbnail: {
url: "",
width: 400,
height: 400
},
borderInfo: {
dominatingColor: {
red: 93,
green: 99,
blue: 102,
alpha: 255
},
homogeneity: false
},
name: "Название 1",

},
{
id: 1234567,
orderBy: 20,
hdThumbnailUrl: "",
thumbnailUrl: "",
originalImageUrl: "",
imageUrl: "",
originalImage: {
url: "",
width: 500,
height: 550
},
thumbnail: {
url: "",
width: 364,
height: 400
},
borderInfo: {
dominatingColor: {
red: 92,
green: 130,
blue: 108,
alpha: 255
},
homogeneity: false
},
name: "Название 2",
url: "",
productCount: 3,
description: "",
enabled: true,
isSampleCategory: false
}
]

Необходимо получить все значения "name" в одном сообщении. На данный момент получается получить только одно.

bot.hears('hello', (ctx)=>{
axios.get('https://site.ru/api')
.then((res)=>{
return ctx.reply(res.data.items[0].name);
}).
catch((err)=>{
    return ctx.reply(err);
});
});

Этот код позволяет вывести данные 0 массива, то есть первое значение name, при обращении к data.items. Если строку return, заменить на:

return ctx.reply(res.data.items[0].name +'\n'+ res.data.items[1].name);

Пользователь, получает уже 2 значения. Пытался реализовать через фильтр, не получается. Бот загружается без ошибок но выдаёт вместо ответа {}.


Ответы (0 шт):