Επικολλήστε το JSON σας παρακάτω για άμεση μορφοποίηση, επικύρωση ή συμπίεση.
✓ Έγκυρο JSON✕ Μη έγκυρο JSON
FULL WIDTH MODE
Size:
Εισάγετε JSON για μορφοποίηση
Διαφήμιση
Σχετικά με αυτό το εργαλείο
Το JSON (JavaScript Object Notation) δημιουργήθηκε από τον Douglas Crockford στις αρχές της δεκαετίας του 2000 ως μια ελαφριά εναλλακτική του XML για την ανταλλαγή δεδομένων. Ο Crockford αναγνώρισε ότι ένα υποσύνολο της σύνταξης αντικειμένων της JavaScript μπορούσε να χρησιμεύσει ως μια απλή, αναγνώσιμη μορφή δεδομένων. Τυποποίησε την προδιαγραφή και εγκαινίασε το json.org το 2002, θέτοντας τα θεμέλια για μία από τις σημαντικότερες μορφές δεδομένων στην ιστορία της πληροφορικής.
Η μορφή αργότερα τυποποιήθηκε ως ECMA-404 και RFC 7159, με την τρέχουσα προδιαγραφή ορισμένη στο RFC 8259.
Το JSON κέρδισε γρήγορα τη συζήτηση "JSON εναντίον XML" για τα web APIs. Εκεί όπου η XML απαιτούσε εκτενείς ετικέτες ανοίγματος και κλεισίματος, σχήματα και χώρους ονομάτων, το JSON πρόσφερε μια καθαρή, ελάχιστη σύνταξη που αντιστοιχούσε απευθείας σε δομές δεδομένων στις περισσότερες γλώσσες πρόγραμματισμού. Στα μέσα της δεκαετίας του 2000, η άνοδος των εφαρμογών AJAX εδραίωσε το JSON ως την προεπιλεγμένη μορφή ανταλλαγής δεδομένων.
Σήμερα, σχεδόν κάθε REST API επιστρέφει JSON και μεγάλες πλατφόρμες από το Twitter μέχρι το GitHub και το Stripe το έχουν υιοθετήσει.
Πέρα από τα APIs, το JSON έχει γίνει η μορφή διαμόρφωσης επιλογής για εργαλεία όπως το package.json στο Node.js, το tsconfig.json στο TypeScript και τα αρχεία ρυθμίσεων στο VS Code. Η επιρροή του εκτείνεται σε τεχνολογίες βάσεων δεδομένων όπως το MongoDB και το CouchDB, που αποθηκεύουν έγγραφα εγγενώς σε μορφές παρόμοιες με JSON (BSON).
Τα JSON Web Tokens (JWT) χρησιμοποιούν JSON για κωδικοποίηση αιτημάτων ταυτοποίησης και το JSON Schema παρέχει λεξιλόγιο για την επικύρωση της δομής δεδομένων JSON.
Αυτό το εργαλείο μορφοποιεί και επικυρώνει JSON ακολουθώντας τις προδιαγραφές ECMA-404 και RFC 8259. Παρέχει επισήμανση σύνταξης, ανίχνευση σφαλμάτων με ακριβείς αριθμούς γραμμής και στήλης, και διαδραστική δενδρική προβολή για πλοήγηση σε ένθετες δομές. Όλη η επεξεργασία γίνεται τοπικά στο πρόγραμμα περιήγησής σας μέσω JavaScript—τα δεδομένα σας δεν μεταδίδονται ποτέ σε κανένα διακομιστή.
Η σειριοποίηση δεδομένων—η διαδικασία μετατροπής δομημένων δεδομένων σε μορφή που μπορεί να αποθηκευτεί ή να μεταδοθεί και αργότερα να ανακατασκευαστεί—είναι μία από τις θεμελιώδεις προκλήσεις της πληροφορικής. Κάθε φορά που δύο συστήματα χρειάζεται να ανταλλάξουν πληροφορίες, πρέπει να συμφωνήσουν σε μια κοινή αναπαράσταση. Η ιστορία αυτής της πρόκλησης εκτείνεται μέχρι τις πρώτες μέρες της δικτυακής πληροφορικής.
Στις δεκαετίες 1960 και 1970, τα δυαδικά πρωτόκολλα κυριαρχούσαν στην ανταλλαγή δεδομένων. Μορφές όπως το ASN.1 (Abstract Syntax Notation One), που αναπτύχθηκε το 1984 για τηλεπικοινωνίες, χρησιμοποιούσαν συμπαγή δυαδική κωδικοποίηση αλλά απαιτούσαν εξειδικευμένα εργαλεία. Η δεκαετία του 1990 έφερε την XML (Extensible Markup Language), που αντάλλαξε τη συμπαγότητα με ανθρώπινη αναγνωσιμότητα και αυτοπεριγραφική δομή. Η XML κυριάρχησε στην επιχειρηματική πληροφορική για πάνω από μια δεκαετία, τροφοδοτώντας υπηρεσίες web SOAP, αρχεία διαμόρφωσης και μορφές εγγράφων όπως XHTML και RSS.
Το JSON εμφανίστηκε στις αρχές της δεκαετίας του 2000 ως ριζική απλοποίηση. Ο Douglas Crockford συνειδητοποίησε ότι η σημείογραφία αντικειμένων της JavaScript—ήδη κατανοητή από κάθε πρόγραμμα περιήγησης—μπορούσε να χρησιμεύσει ως καθολική μορφή δεδομένων. Εκεί όπου η XML απαιτούσε ετικέτες ανοίγματος, κλεισίματος, χαρακτηριστικά, χώρους ονομάτων και σχήματα, το JSON χρειαζόταν μόνο έξι δομικούς χαρακτήρες: άγκιστρα, αγκύλες, άνω κάτω τελεία, κόμματα και εισαγωγικά. Αυτός ο μινιμαλισμός έκανε το JSON ευκολότερο στη χειρόγραφη συγγραφή και ταχύτερο στη μηχανική ανάλυση.
Ο αντίκτυπος ήταν μετασχηματιστικός. Η ταχύτητα ανάλυσης του JSON είναι τυπικά 10-100 φορές ταχύτερη από την ανάλυση XML στις περισσότερες γλώσσες πρόγραμματισμού. Η άμεση αντιστοίχισή του σε εγγενείς δομές δεδομένων—αντικείμενα στη JavaScript, λεξικά στην Python, HashMaps στη Java—εξαλείφει την αναντιστοιχία σύνθετης αντίστασης που ταλαιπωρούσε την ενσωμάτωση XML. Σήμερα, το JSON χειρίζεται εκτιμώμενο 90% όλης της κυκλοφορίας web API, και νεότερες μορφές όπως MessagePack και BSON (Binary JSON) επεκτείνουν τις έννοιές του στο δυαδικό πεδίο για ακόμη μεγαλύτερη απόδοση.
Πώς να Χρησιμοποιήσετε
Επικολλήστε το ακατέργαστο ή συμπιεσμένο JSON σας στο πάνελ εισόδου, ή φορτώστε ένα παράδειγμα.
Κάντε κλικ στο 'Μορφοποίηση' για εσοχές, 'Συμπίεση' για ελαχιστοποίηση, ή 'Επικύρωση' για έλεγχο σύνταξης.
Δείτε αποτελέσματα με επισήμανση σύνταξης, εξερευνήστε ένθετα δεδομένα σε Δενδρική Προβολή, ή αντιγράψτε/κατεβάστε.
Μεθοδολογία
Αυτό το εργαλείο χρησιμοποιεί το εγγενές JSON.parse() της JavaScript για επικύρωση, που ακολουθεί αυστηρά το πρότυπο ανταλλαγής δεδομένων JSON ECMA-404 και τις προδιαγραφές RFC 8259. Όταν το JSON είναι μη έγκυρο, ο αναλυτής παράγει λεπτομερή μηνύματα σφάλματος με ακριβείς δείκτες γραμμής και στήλης, βοηθώντας σας να εντοπίσετε την ακριβή θέση των συντακτικών σφαλμάτων.
Η μορφοποίηση εκτελείται χρησιμοποιώντας JSON.stringify() με παραμετρόποιήσιμες επιλογές εσοχής: 2 κενά, 4 κενά ή χαρακτήρες tab, επιτρέποντάς σας να ταιριάξετε τις συμβάσεις στυλ κώδικα του έργου σας.
Η προβολή δέντρου δημιουργείται διασχίζοντας αναδρομικά την αναλυμένη δομή JSON, δημιουργώντας επεκτάσιμους και συμπτυσσόμενους κόμβους για αντικείμενα και πίνακες. Κάθε κόμβος εμφανίζει τον τύπο του, το όνομα κλειδιού και τον αριθμό θυγατρικών στοιχείων, διευκολύνοντας την πλοήγηση σε βαθιά ένθετα δεδομένα. Η επισήμανση σύνταξης εφαρμόζει διακριτά χρώματα σε strings, αριθμούς, booleans, τιμές null και δομικούς χαρακτήρες, βελτιώνοντας την αναγνωσιμότητα με μια ματιά.
Η διαδικασία ελαχιστοποίησης αφαιρεί όλα τα περιττά κενά, αλλαγές γραμμής και εσοχές, παράγοντας την πιο συμπαγή δυνατή αναπαράσταση διατηρώντας την ακεραιότητα δεδομένων. Όλες οι λειτουργίες εκτελούνται σύγχρονα στη μηχανή JavaScript του προγράμματος περιήγησης χωρίς εξωτερικές κλήσεις API.
Έγκυρο JSON πρέπει να χρησιμοποιεί διπλά εισαγωγικά τόσο για strings όσο και για ονόματα ιδιοτήτων—τα μονά εισαγωγικά δεν επιτρέπονται ποτέ. Συνηθισμένα συντακτικά σφάλματα περιλαμβάνουν τελικά κόμματα μετά το τελευταίο στοιχείο σε πίνακα ή αντικείμενο, μονά αντί για διπλά εισαγωγικά, κλειδιά ιδιοτήτων χωρίς εισαγωγικά και σχόλια (το JSON δεν υποστηρίζει κανενός είδους σχόλια). Οι τιμές undefined και NaN της JavaScript επίσης δεν είναι έγκυρες στο JSON.
Όταν επιλέγετε μεταξύ μορφοποιημένης και ελαχιστοποιημένης εξόδου, λάβετε υπόψη το πλαίσιο. Χρησιμοποιήστε ελαχιστοποιημένο JSON για απαντήσεις API, μετάδοση δικτύου και αποθήκευση για μείωση εύρους ζώνης και μεγέθους αρχείου—η ελαχιστοποίηση μπορεί να μειώσει το μέγεθος JSON κατά 20-40% ανάλογα με το βάθος ένθεσης. Μορφοποιημένο JSON με εσοχή 2 κενών είναι το βιομηχανικό πρότυπο για αρχεία ρυθμίσεων όπως package.json και tsconfig.json.
Η εσοχή 4 κενών προτιμάται σε ορισμένες βάσεις κώδικα για βελτιωμένη αναγνωσιμότητα βαθιά ένθετων δομών.
Για μεγάλα αρχεία JSON που υπερβαίνουν το 1MB, η προβολή δέντρου μπορεί να χρειαστεί περισσότερο χρόνο για απόδοση λόγω του αριθμού οπτικών στοιχείων που δημιουργούνται. Σε τέτοιες περιπτώσεις, χρησιμοποιήστε τη μορφοποιημένη προβολή κειμένου για ταχύτερη απόδοση. Κατά την αποσφαλμάτωση απαντήσεων API, η προβολή δέντρου είναι πολυτιμότερη για εξερεύνηση ένθετων δομών δεδομένων χωρίς χειροκίνητη σάρωση χιλιάδων γραμμών.
Πρακτικά Παραδείγματα
Ένας front-end developer λαμβάνει μια ελαχιστοποιημένη απάντηση API από ένα REST endpoint και χρειάζεται να κατανοήσει τη δομή δεδομένων. Επικολλά την απάντηση στον μορφοποιητή, κάνει κλικ στη Μορφοποίηση, και βλέπει αμέσως τα ένθετα αντικείμενα και πίνακες με σαφή εσοχή, διευκολύνοντας τον εντοπισμό των πεδίων που χρειάζεται για το UI component.
Ένας μηχανικός DevOps αντιμετωπίζει ένα αποτυχημένο deployment που προκλήθηκε από λανθασμένο αρχείο διαμόρφωσης. Επικολλά τη JSON διαμόρφωση στον επικυρωτή, που αμέσως επισημαίνει ένα τελικό κόμμα στη γραμμή 47—ένα συνηθισμένο σφάλμα που πολλοί επεξεργαστές κειμένου δεν εντοπίζουν. Η διόρθωση αυτού του μοναδικού χαρακτήρα λύνει το πρόβλημα deployment.
Ένας τεχνικός συγγραφέας που ετοιμάζει τεκμηρίωση API χρησιμοποιεί την προβολή δέντρου για να εξερευνήσει ένα σύνθετο payload απάντησης με πέντε επίπεδα ένθεσης, και στη συνέχεια αντιγράφει τη μορφοποιημένη έξοδο απευθείας στην τεκμηρίωσή του με συνεπή εσοχή 2 κενών.
Συμβουλές & Βέλτιστες Πρακτικές
Πάντα επικυρώνετε το JSON πριν το χρησιμοποιήσετε στην παραγωγή. Ένα μόνο λανθασμένα τοποθετημένο κόμμα ή ελλείπον εισαγωγικό μπορεί να προκαλέσει σιωπηλή αποτυχία ολόκληρων ενσωματώσεων API. Επικολλήστε το JSON σας στον επικυρωτή πριν αναπτύξετε αλλαγές διαμόρφωσης ή ενημερώσετε payloads API.
Χρησιμοποιήστε συνεπή εσοχή στην ομάδα σας. Συμφωνήστε σε εσοχή 2 ή 4 κενών για όλα τα αρχεία διαμόρφωσης και κάντε commit ένα .editorconfig ή ρύθμιση prettier για αυτόματη εφαρμογή. Αυτό αποτρέπει περιττό θόρυβο στις διαφορές ελέγχου εκδόσεων.
Όταν αποσφαλματώνετε βαθιά ένθετο JSON, χρησιμοποιήστε την προβολή δέντρου για σύμπτυξη τμημάτων που δεν σας ενδιαφέρουν. Αυτό εστιάζει την προσοχή σας στα σχετικά δεδομένα χωρίς απώλεια πλαισίου. Μπορείτε επίσης να χρησιμοποιήσετε τα κουμπιά Ανάπτυξη Όλων και Σύμπτυξη Όλων για γρήγορη πλοήγηση μεταξύ επισκόπησης και λεπτομέρειας.
Για JSON που θα μεταδοθεί μέσω δικτύων, πάντα ελαχιστοποιείτε πρώτα. Η αφαίρεση κενών από μια τυπική απάντηση API μπορεί να εξοικονομήσει 20-40% εύρος ζώνης. Ωστόσο, πάντα διατηρείτε τη μορφοποιημένη έκδοση στο αποθετήριο πηγαίου κώδικα για αναγνωσιμότητα.
Να γνωρίζετε ότι το JSON δεν υποστηρίζει σχόλια. Αν χρειάζεστε σχολιασμένη διαμόρφωση, εξετάστε μορφές JSON5 ή JSONC, αλλά θυμηθείτε να αφαιρέσετε τα σχόλια πριν την ανάλυση με τυπικά εργαλεία JSON.
Ο μορφοποιητής JSON παίρνει ακατέργαστο ή συμπιεσμένο JSON και το επαναμορφοποιεί με σωστή εσοχή και αλλαγές γραμμής. Επίσης επικυρώνει τη σύνταξη και επισημαίνει σφάλματα με τον ακριβή αριθμό γραμμής και στήλης.
Πώς χρησιμοποιώ την προβολή δέντρου;
Μετά τη μορφοποίηση έγκυρου JSON, κάντε κλικ στην καρτέλα Δενδρική Προβολή για να δείτε μια επεκτάσιμη δομή δέντρου. Κάντε κλικ στα βέλη δίπλα σε αντικείμενα και πίνακες για επέκταση ή σύμπτυξη.
Ποια είναι η διαφορά μεταξύ Μορφοποίησης και Συμπίεσης;
Η μορφοποίηση προσθέτει εσοχές και αλλαγές γραμμής για αναγνώσιμο JSON, ιδανικό για αποσφαλμάτωση. Η συμπίεση αφαιρεί όλα τα περιττά κενά για τη μικρότερη δυνατή έξοδο, ιδανικό για παραγωγή.
Πώς προσαρμόζω τη διάταξη των πάνελ;
Σύρετε τον κατακόρυφο διαχωριστή μεταξύ των πάνελ εισόδου και εξόδου για να προσαρμόσετε τα σχετικά πλάτη τους. Χρησιμοποιήστε τα κουμπιά S/M/L για τα ύψη των πάνελ ή σύρετε την κάτω άκρη για κατακόρυφη αλλαγή μεγέθους. Εναλλάσσετε μεταξύ διατάξεων δίπλα-δίπλα και στοιβαγμένων. Ενεργοποιήστε τη λειτουργία Πλήρους Πλάτους για μέγιστο χώρο εργασίας.
Σε ποιό πρότυπο JSON επικυρώνει αυτό το εργαλείο;
Αυτό το εργαλείο επικυρώνει JSON σύμφωνα με τα ECMA-404 (Το Πρότυπο Ανταλλαγής Δεδομένων JSON) και RFC 8259 (Η Μορφή Ανταλλαγής Δεδομένων JSON). Εντοπίζει συντακτικά σφάλματα όπως τελικά κόμματα, κλειδιά χωρίς εισαγωγικά, συμβολοσειρές με μονά εισαγωγικά και ελλείποντες αγκύλες — που όλα παραβιάζουν την προδιαγραφή JSON. Τα μηνύματα σφάλματος περιλαμβάνουν τον ακριβή αριθμό γραμμής και στήλης.
Παραμένουν ιδιωτικά τα δεδομένα JSON μου;
Ναι. Όλη η μορφοποίηση, επικύρωση και συμπίεση γίνεται αποκλειστικά στον browser σας μέσω JavaScript. Κανένα δεδομένο JSON δεν αποστέλλεται ποτέ σε κανέναν server ούτε αποθηκεύεται πουθενά. Αυτό καθιστά το εργαλείο ασφαλές για εργασία με απαντήσεις API που περιέχουν ευαίσθητα δεδομένα, αρχεία ρυθμίσεων με διαπιστευτήρια ή οποιοδήποτε ιδιόκτητο περιεχόμενο JSON.
Τα Αγαπημένα μου
Σύρετε για αναδιάταξη
Δεν υπάρχουν ακόμα αγαπημένα
Πατήστε το ☆ σε οποιοδήποτε εργαλείο για γρήγορη πρόσβαση.