Как реализовать поиск по json?
Для фильтрации массивов можно использовать функцию Array.prototype.filter
Для фильтрации по конкретному полюvar search = "text"
var result = arr.filter(function(el){
    return el.fieldName.indexOf(search) > -1;//fieldName - поле по которому нужно фильтровать
});
Если искать нужно сразу по всем полям, то функцию фильтра можно модифицировать, например, такvar search = "text"
var result = arr.filter(function(el){
    for(var field in el){
        if(el[field].indexOf(search) > -1){
            return true;//если нашли хотя бы одно поле содержащее искомую строку, оставляем объект
        }
    }
    return false;
});
У lodash есть ряд методов фильтрации коллекции объектов по параметрам. 
// using the `_.matches` iteratee shorthand
_.filter(users, { 'age': 36, 'active': true });
Сначала фильтруешь все данные по нужному условию, на выходе остается срез данных. А выводишь уже отдельно от поиска/фильтрации.