@myskypesla

Как сравнить 2 json файла?

Всем привет, у меня есть 2 JSON фала который прилетают из разных API:

1-ый файл выглядит так:
{
  "data": [
    {
      "id": 1025
    },
    {
      "id": 2000
    },
    {
      "id": 2500
    }
  ]
}


и 2-ой json файл выглядит так:
{
  "data": [
    {
      "IDNum": 1025,
      "count": 1
    },
    {
      "IDNum": 2000,
      "count": 3
    },
    {
      "IDNum": 2500,
      "count": 2
    }
  ]
}


Логика такая: прилетает 1-ый файл и если во 2-ом файле есть объект с id 1025, то взять значение поля count из 2-ого файла.

Если есть решение средствами чистого javascript, то будет круто, т.к. пишу на vue js.

Заранее спасибо всем кто ответит!
  • Вопрос задан
  • 2998 просмотров
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
Сначала подготовим второй JSON
var arrmap = {}
for (x in arr['data']) {
  var v = arr['data'][x]
  arrmap[v['IDNum']] = v['count']
}


А затем из первого будем искать:
for (x in foo['data']) { 
  var v = foo['data'][x]
  if (arrmap[v['id']]) {
    console.log(arrmap[v['id']])
  }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
kulakoff
@kulakoff Куратор тега Vue.js
Vue.js developing
Вариант использовать find для поиска вхождения:
var file2 = data2

var obj = getElement(file2, 1025)
if (obj) console.log(obj.count)

function getElement(file, id) {
 return file['data'].find(el => el.IDNum === id)
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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