2014-06-20 3 views
1

AJAX를 사용하여 일정 간격으로 JSON (객체의 복합 객체 & 어레이)으로 작업 목록을 요청하고 있습니다. 그런 다음 반환 된 데이터를 사용하여 페이지의 일부를 업데이트합니다.두 객체 간의 차이 반환

문제는 단지 새로운 개의 작업으로 페이지를 업데이트하고 다른 것들이 구현되는 방법 때문에 개체 수를 비교할 수 없다는 것입니다.

어떻게에만 oldData & newData을 비교하여 새로운 객체 (들)을 반환 할 수 있습니까?

예 JSON 개체 :

{ 
    latStamp: 32.6132698059082, 
    timeStamp: "2014-06-20 07:05:00+00:00", 
    job: { 
     status: 8, 
     customer: "Mr Crustomer", 
     task: "Some task", 
     machineType: "XE3000", 
     tempJobNumber: "GO28323", 
     jobNumber: "GD23203", 
     causeOfFault: "", 
     workCarriedOut: "", 
     jobOwnerName: "Job Owner", 
     machineSerialNumber: "", 
     costCentre: 1, 
     mileage: 0, 
     location: "Location", 
     scheduledDateTime: "19/06/2014 17:00:00", 
     shortDescription: "", 
     id: 1, 
     engineer: 1 
    }, 
    status: { 
     actionGuidance: "Action guidance here", 
     description: "Completed", 
     endsTimer: true, 
     colour: "73B63F", 
     startsTimer: false, 
     id: 8 
    }, 
    lngStamp: 4.886201977729797 
}, 

편집 : 나는이 제안 링크가 여러 빈 객체를 포함하는 객체를 반환으로, 중복 생각하지 않는다 - 나는 객체를 반환 찾고 있어요 다른 개체

+0

새 JSON 개체가 이전과 다른 경우에만 확인 하시겠습니까? 또는 새 JSON 객체에서 새 데이터를 가져 오겠습니까? – Navin

+0

흥미로운 문제가있는 것 같지만 질문은 매우 형편 없습니다. – cherouvim

답변

0

질문에 대한 나의 이해는 다른 두 json을 비교하여 새로운 작업을 찾아야한다는 것입니다. oldData와 other는 있습니다. newData newData json의 새 작업의 타임 스탬프가 OldData의 이전 작업보다 커야한다고 가정합니다.

는) 다음과 같은

1을 최신 타임 스탬프의 직업을 찾을 수 있다고하는 데, 최신 작업 2)가 newData의 모든 작업을) latestJobTime 3 등의 변수에의 타임 스탬프를 저장 반복을 의미합니다 latestJobTime 다음에 시간 소인이있는 작업을 찾으십시오. 4) latestJobTime을 최신 Job 시간으로 업데이트하십시오. newData가 다시 나타날 때 비슷한 단계를 수행하십시오.

타임 스탬프를 저장하는 몇 가지 팁.

var latestJobTime = new Date (newData [ 'timeStamp']). getTime(); // 숫자 비교와 비교할 수 있도록 밀리 초 단위의 시간 표현을 제공합니다.