@D1mQ4

Как парсить 2 JSON файла?

Использую InfiniteAjaxScroll в своем проекте. Проект - парсит несколько JSON.
Я хочу объединить определенные элементы из обоих JSON по одному общему полю, как это сделать я знаю но не могу в JS нормально открыть для парсинга сам .json файл. Пробовал его открывать различными методами и через return возвращать, но получал всякие непонятные Promise и тд. Я в js не шарю, больше по php, но задачу нужно выполнить именно на js.
function nextHandler(pageIndex) {
    return fetch('csgomarket.php').then(response => response.json()).then((data) => {
        let frag = document.createDocumentFragment();
        let itemsPerPage = 15;
        let totalPages = Math.ceil(data.length / itemsPerPage);
        let offset = pageIndex * itemsPerPage;
        // walk over the movie items for the current page and add them to the fragment
        for (let i = offset, len = offset + itemsPerPage; i < len; i++) {
            const movie = data[i];
            /* Здесь открытие файла api.json и добавление к массиву movie 3 элементов из файла api.json */
            let item = createMovieItem(movie);
            frag.appendChild(item);
        }

        let hasNextPage = pageIndex < totalPages - 1;

        return this.append(Array.from(frag.childNodes)).then(() => hasNextPage);
        // indicate that there is a next page to load
    });
}

Есть 2 файла api.json и mcsgo.json
Есть массив movie, который франит объект из файла api.json. Нужно открыть файл mcsgo.json и по их общему полю name, к массиву movie добавить поля из mcsgo.json

2 дня сижу голову ломаю, думал найду решение, но не дается мне JS в никакую
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
Aetae
@Aetae
Тлен
async function nextHandler(pageIndex) {
  const [api, mcsgo] = await Promise.all([
    fetch('api.json').then(response => response.json()),
    fetch('mcsgo.json').then(response => response.json())
  ]);
  // ...
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы