JSON Diff Checker
Συγκρίνετε δύο JSON payloads με βάση τη δομή και όχι το κείμενο: δείτε κάθε προστεθειμένο, αφαιρεθέν και αλλαγμένο κλειδί στη δική του διαδρομή, εξ ολοκλήρου στον browser σας.
🔒 Επεξεργάζεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας — τίποτα που εισάγετε εδώ δεν μεταφορτώνεται ποτέ.
Αποτέλεσμα
Η επικόλληση δύο εγγράφων JSON σε ένα κανονικό εργαλείο text-diff παράγει σχεδόν πάντα λάθος εικόνα: η αναδιαμόρφωση, η επανεσοχή ή απλώς η σειριοποίηση των κλειδιών αντικειμένων με διαφορετική σειρά θα φωτίσει τεράστιες εκτάσεις 'αλλαγμένου' κειμένου ακόμη και όταν τα υποκείμενα δεδομένα είναι πανομοιότυπα. Ένα text diff συγκρίνει χαρακτήρες και γραμμές· δεν έχει ιδέα ότι τα {"a":1,"b":2} και {"b":2,"a":1} σημαίνουν ακριβώς το ίδιο πράγμα.
Αυτό το εργαλείο αναλύει πρώτα και τις δύο εισόδους ως JSON και στη συνέχεια διατρέχει αναδρομικά τις δύο δομές με τον τρόπο που είναι πραγματικά διαμορφωμένα τα δεδομένα: τα αντικείμενα συγκρίνονται με βάση το όνομα κλειδιού και οι πίνακες με βάση τη θέση (η σύγκριση πινάκων βάσει δείκτη είναι μια σκόπιμη, απλούστερη προεπιλογή εδώ — δεν υπάρχει λειτουργία 'αντιμετώπιση αυτού του πίνακα ως μη ταξινομημένου συνόλου με κλειδί ένα πεδίο id'). Κάθε διαφορά αναφέρεται στη δική της διαδρομή, όπως user.address.city, και ταξινομείται ως added, removed ή changed, με την παλιά και τη νέα τιμή να εμφανίζονται μαζί, ώστε να μην χρειάζεται ποτέ να μαντέψετε τι άλλαξε.
Οι αμετάβλητες διαδρομές αποκρύπτονται από προεπιλογή, ώστε ένα μεγάλο payload με μία μικρή αλλαγή να μην την θάβει σε θόρυβο, με μια επιλογή για να τις αποκαλύψετε ξανά όταν θέλετε την πλήρη εικόνα. Η επιλογή 'sort keys before comparing' διατρέχει και παραθέτει τα κλειδιά αντικειμένων σε κανονική αλφαβητική σειρά — ένα JSON αντικείμενο δεν έχει εξαρχής σημαντική σειρά κλειδιών, οπότε δύο αντικείμενα με τα ίδια κλειδιά και τιμές σε διαφορετική σειρά είναι τα ίδια δεδομένα, και αυτή η επιλογή καθιστά αυτή τη σύγκριση, και τη λίστα που προκύπτει, ρητή και ντετερμινιστική. Είναι η ακριβής ρύθμιση πίσω από τις προεπιλογές sorted και API-response-comparison σε αυτό το εργαλείο.
Αν χρειάζεστε ένα κλασικό side-by-side line diff για απλό κείμενο, κώδικα ή οποιοδήποτε περιεχόμενο που δεν είναι JSON, χρησιμοποιήστε το συνοδευτικό εργαλείο Text Diff — συγκρίνει γραμμή προς γραμμή και είναι το κατάλληλο εργαλείο όταν τα κενά και οι διαφορές μορφοποίησης έχουν πραγματικά σημασία. Αυτό εδώ είναι ειδικά για JSON, και, όπως κάθε εργαλείο σε αυτόν τον ιστότοπο, εκτελείται εξ ολοκλήρου στον browser σας: τίποτα από όσα επικολλάτε δεν ανεβαίνει ποτέ πουθενά.