Задать вопрос
@alexsandr_s

Фильтр JSON данных?

Есть JSON массив:
var json = [{
  "variation_id": 618,
  "attributes": {
    "attribute_pa_color": "navy",
    "attribute_pa_size": "l"
  },
  "sku": "618"
}, {
  "variation_id": 619,
  "attributes": {
    "attribute_pa_color": "gray",
    "attribute_pa_size": "l"
  },
  "sku": "619"
},
{
  "variation_id": 620,
  "attributes": {
    "attribute_pa_color": "navy",
    "attribute_pa_size": "s"
  },
  "sku": "620"
}, {
  "variation_id": 621,
  "attributes": {
    "attribute_pa_color": "gray",
    "attribute_pa_size": "s"
  },
  "sku": "621"
}];

нужно отфильтровать данные по цвету navy ("attribute_pa_color": "navy")
чтобы вывело массив в таком виде:
{
  "variation_id": 618,
  "attributes": {
    "attribute_pa_color": "navy",
    "attribute_pa_size": "l"
  },
  "sku": "618"
},{
  "variation_id": 620,
  "attributes": {
    "attribute_pa_color": "navy",
    "attribute_pa_size": "s"
  },
  "sku": "620"
}
  • Вопрос задан
  • 5504 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
var newJson = json.filter(function(e){
   return e.attributes.attribute_pa_color == "navy";
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Последовательно проходите по массиву, получаете значение нужного свойства объекта, сравниваете.
Что из этого представляет для вас сложности?
Ответ написан
Комментировать
serhioli
@serhioli
Здесь уже рассказали:
stackoverflow.com/questions/18504285/how-to-filter...

И вообще, в гугле много всего по этому запросу: json filter by attributes
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы