Πώς να το χρησιμοποιήσετε
- Επικολλήστε το JSON σας στο πλαίσιο εισαγωγής ή πατήστε «Δοκιμάστε ένα παράδειγμα».
- Επιλέξτε την εσοχή (2 κενά, 4 κενά ή ένα tab) και, αν θέλετε, ταξινομήστε τα κλειδιά αλφαβητικά.
- Διαβάστε το μορφοποιημένο αποτέλεσμα στα δεξιά. Πατήστε Ελαχιστοποίηση για να αφαιρέσετε όλα τα κενά.
- Αν το JSON έχει συντακτικό σφάλμα, διορθώστε το στη γραμμή και τη στήλη που εμφανίζονται και, στη συνέχεια, αντιγράψτε ή κατεβάστε το αποτέλεσμα ως αρχείο .json.
Πώς λειτουργεί
Ο μορφοποιητής αναλύει το κείμενό σας με τον ενσωματωμένο αναλυτή JSON του προγράμματος περιήγησης και το ξαναγράφει με την εσοχή που επιλέγετε, ώστε το αποτέλεσμα να είναι πάντα έγκυρο JSON με σταθερή εσοχή. Η επιλογή Minify γράφει τα ίδια δεδομένα χωρίς κενά ή αλλαγές γραμμής, δηλαδή την πιο συμπαγή μορφή για αποστολή μέσω δικτύου ή αποθήκευση σε τιμή ρυθμίσεων.
Όταν η είσοδος δεν είναι έγκυρο JSON, ένας μικρός αυστηρός ελεγκτής εντοπίζει το πρώτο πρόβλημα και αναφέρει τη γραμμή και τη στήλη του, με απλή εξήγηση για συχνά λάθη: κόμματα στο τέλος, μονά εισαγωγικά, κλειδιά χωρίς εισαγωγικά, σχόλια και τιμές όπως NaN ή undefined που υπάρχουν στη JavaScript αλλά όχι στο JSON. Τα προγράμματα περιήγησης διατυπώνουν διαφορετικά τα δικά τους σφάλματα JSON, επομένως η θέση υπολογίζεται από το εργαλείο και όχι από το μήνυμα του προγράμματος περιήγησης.
Μάθετε τα όρια της αναμόρφωσης. Οι αριθμοί αποθηκεύονται ως κινητής υποδιαστολής διπλής ακρίβειας, οπότε ακέραιοι μεγαλύτεροι από 9.007.199.254.740.991 (2^53 − 1), όπως ορισμένα αναγνωριστικά βάσεων δεδομένων, χάνουν ακρίβεια: το 9007199254740993 γίνεται 9007199254740992. Κρατήστε τέτοια αναγνωριστικά ως συμβολοσειρές. Αν ένα αντικείμενο περιέχει το ίδιο κλειδί δύο φορές, διατηρείται μόνο η τελευταία τιμή. Τα κλειδιά που μοιάζουν με ακέραιους αριθμούς ("1", "20") τοποθετούνται πάντα πριν από τα άλλα κλειδιά από τη JavaScript, είτε κάνετε ταξινόμηση είτε όχι. Είσοδος έως μερικά megabyte λειτουργεί· πάνω από περίπου 300.000 χαρακτήρες η ζωντανή μορφοποίηση σταματά και πατάτε αντί αυτού Μορφοποίηση, ώστε η πληκτρολόγηση να παραμένει άμεση.
Παραδείγματα
Ανάγνωση μιας απόκρισης API
Ένα REST API επιστρέφει μία μεγάλη γραμμή όπως {"user":{"id":7,"tags":["a","b"]}}. Η μορφοποίηση με 2 κενά βάζει κάθε κλειδί σε δική του γραμμή και δημιουργεί εσοχή στον πίνακα tags, ώστε να βλέπετε τη δομή με μια ματιά.
Σύγκριση δύο αρχείων ρυθμίσεων
Δύο αρχεία ρυθμίσεων JSON παραθέτουν τις ίδιες ρυθμίσεις με διαφορετική σειρά. Μορφοποιήστε και τα δύο με ενεργοποιημένη την επιλογή «Ταξινόμηση κλειδιών A–Z»· τα αποτελέσματα πλέον ευθυγραμμίζονται και μια σύγκριση κειμένου δείχνει μόνο τις πραγματικές διαφορές.
Εντοπισμός ενός λανθασμένου κόμματος
Ένα package.json που επεξεργαστήκατε χειροκίνητα αποτυγχάνει να φορτώσει. Η επικόλλησή του εμφανίζει «Κόμμα στο τέλος» στη γραμμή 14, στήλη 5, δείχνοντας το κόμμα μετά την τελευταία εξάρτηση.
Συχνές ερωτήσεις
Γιατί άλλαξε ένας μεγάλος αριθμός μετά τη μορφοποίηση;
Οι αναλυτές JSON στα προγράμματα περιήγησης αποθηκεύουν τους αριθμούς ως κινητής υποδιαστολής 64 bit, η οποία αναπαριστά ακέραιους με ακρίβεια μόνο έως το 9.007.199.254.740.991. Μεγαλύτεροι ακέραιοι στρογγυλοποιούνται στην πλησιέστερη αναπαραστάσιμη τιμή. Αν τα δεδομένα σας περιέχουν αναγνωριστικά 64 bit, μεταδώστε τα ως συμβολοσειρές.
Μπορεί να μορφοποιήσει JSON με σχόλια ή κόμματα στο τέλος (JSON5, JSONC);
Όχι. Το εργαλείο ακολουθεί αυστηρά το πρότυπο JSON (RFC 8259) και αναφέρει τα σχόλια και τα κόμματα στο τέλος ως σφάλματα με τη θέση τους, ώστε να μπορείτε να τα αφαιρέσετε. Αυτό κάνουν επίσης οι περισσότεροι αναλυτές JSON στις γλώσσες προγραμματισμού.
Αλλάζει τα δεδομένα μου η ταξινόμηση των κλειδιών;
Δεν αλλάζει καμία τιμή, μόνο η σειρά των κλειδιών μέσα στα αντικείμενα. Τα αντικείμενα JSON δεν έχουν εξ ορισμού σειρά, επομένως το αποτέλεσμα είναι ισοδύναμο. Οι πίνακες δεν αναδιατάσσονται ποτέ, επειδή η σειρά τους έχει σημασία.
Πόσο μεγάλο αρχείο μπορώ να μορφοποιήσω;
Αρχεία μερικών megabyte λειτουργούν σε ένα σύγχρονο πρόγραμμα περιήγησης για υπολογιστές. Για εισαγωγές άνω των περίπου 300.000 χαρακτήρων, το εργαλείο περιμένει μέχρι να πατήσετε Μορφοποίηση ή Ελαχιστοποίηση, αντί να επαναμορφοποιεί σε κάθε πληκτρολόγηση. Πολύ μεγάλα αποτελέσματα μπορεί να κάνουν αργή την κύλιση του πλαισίου κειμένου σε κινητά.
Μεταφορτώνεται το JSON μου κάπου;
Όχι. Η ανάλυση και η μορφοποίηση εκτελούνται στο πρόγραμμα περιήγησής σας με JavaScript. Το κείμενο δεν αποστέλλεται σε διακομιστή ούτε αποθηκεύεται.
Απόρρητο
Το JSON σας αναλύεται και μορφοποιείται μόνο στο πρόγραμμα περιήγησής σας. Δεν μεταφορτώνεται, δεν καταγράφεται ούτε αποθηκεύεται και δεν περιλαμβάνεται στα αναλυτικά στοιχεία.