Как извлечь конкретные данные, содержащие подстроку, из файла JSON?

#javascript #json #fetch

#javascript #json #выборка

Вопрос:

Я пытаюсь получить все альбомы с определенной подстрокой в их названии из моего локального файла json.

Я могу решить эту проблему, выбрав все альбомы в файле и отфильтровав их позже, но я хочу знать, есть ли способ извлекать только определенные альбомы, имена которых содержат определенную подстроку.

 function getAlbum(id){
    return from(
        fetch(`http://localhost:3000/albums/${id}`)
        .then(response => {
            if(response.status === 404){
                return fetch(`http://localhost:3000/albums`)
                .then(response => response.json());
            }
            else
                return response.json();
        })
    );
}
 

Пока это мое решение, как я уже сказал, оно извлекает все альбомы, если не находит ни одного с определенным идентификатором.

Комментарии:

1. Это должно быть решено на стороне сервера, если это возможно.

2. Звучит так, как будто вам нужно предоставить другой ресурс, что-то вроде localhost:3000/albumSearch/ $ {term} или localhost:3000/albums?search= $ {term}. Вы не сможете сделать это с клиента, не выполнив эти несколько вызовов.

3. Вы должны сделать это с помощью фильтрации на стороне сервера. Вы отправляете подстроку, которую хотите включить в имя файла в качестве фильтра, и из серверной части все отфильтрованные результаты будут отправлены вам после разрешения fetch .