Mister98 Mister98 - 5 months ago 25
JSON Question

Compare two json objects

suppose to have 2 json object like this :

var obj1= {
"errors":{
"addcreditcard":"Non è stato possibile associare questa carta, ti preghiamo di ricontrollare i dati e riprovare.",
"creditrecharge":"Si è verificato un errore durante la ricarica.",
"ticketvalidation":"Siamo spiacenti, si è verificato un problema durante la validazione.",
"ticketpurchase": "Siamo spiacenti, si è verificato un problema durante l\"acquisto.",
"qrwrong": "Hai scansionato un QR Code non valido. Scansiona un QR Code OpenMove."
}
}


And this :

var obj2 = {
'errors':{
'addcreditcard':'Wir konnten diese Karte nicht verifizieren. Bitte \u00fcberpr\u00fcfe deine Angaben und versuche es noch einmal.',
'creditrecharge':'Beim Aufladen deines Guthabens ist ein Fehler aufgetreten.',
'qrwrong': 'Sie haben einen ung\u00fcltigen QR Code gescannt. Bitte einen OpenMove QR Code scannen.'
}
}


How can I get another object (using javascript or jquery) with the values in the first json but not in the second?
In this case it will be :

var example = {
"errors":{
"ticketvalidation":"Siamo spiacenti, si è verificato un problema durante la validazione.",
"ticketpurchase": "Siamo spiacenti, si è verificato un problema durante l\"acquisto."
}
}

Answer

You can use this code that iterates over all properties in the second object and checks if they exist in the first one:

var finalObject;
for (var property in obj2) {
    if (obj2.hasOwnProperty(property)) {

       if(!obj2.hasOwnProperty(property)){
           // exist only in first
           finalObject[property] = obj1[property];
       }
    }
}

return finalObject;