Я хочу отфильтровать свой JSON таким образом, чтобы иметь данные только с "category": 'two'.
Данные:
var json = [
{"id": 1,
"category":'one';
}
{"id": 1,
"category":'two';
}
{"id": 1,
"category":'two';
}
{"id": 1,
"category":'three';
}
]
@str, это даже не массив объектов. Это всего лишь одна большая синтаксическая ошибка.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Данные недействительны. Объекты внутри массива и каждая пара "ключ-значение" должны быть разделены запятой (,). Исправьте, затем используйте filter():
var json = [{"id": 1,
"category":'one'
},{"id": 1,
"category":'two'
},{"id": 1,
"category":'two'
},{"id": 1,
"category":'three'
}
]
var res = json.filter(i => i.category == 'two');
console.info(res);Я пробовал использовать метод фильтрации, он выдает ошибку, так как json.filter не является функцией
@abhi ты тоже исправил синтаксис?
@abhi, тогда json не массив ...
да, значение должно быть в одинарных кавычках, у меня значение в двойных кавычках
@abhi нет, проблема в том, что у вас был случайный ; и отсутствовал ,. Проверьте, что написал Мамун, с тем, что у вас есть.
@FedericoklezCulloca Я исправил это, это была ошибка опечатки при публикации вопроса, извините за это
на самом деле данные, которые у меня есть, являются выходом ключа кеша Redis
работает после выполнения JSON.parse(josn)
Пожалуйста, изучите разница между JSON и Object Literal Notation.