Μετάβαση στο περιεχόμενο

Μορφοποιητής JSON: Συμπίεση & Ωραιοποίηση JSON Online Δωρεάν

Δωρεάν μορφοποιητής JSON για άμεση συμπίεση και ωραιοποίηση JSON. Συμπιέστε JSON, επικυρώστε σύνταξη και εκτυπώστε όμορφα με σωστή εσοχή. Γρήγορο, ασφαλές εργαλείο βασισμένο σε περιηγητή.

Μορφοποιητής JSON

Υπολογιστής φόρτωσης...
📚

Τεκμηρίωση

Μορφοποιητής JSON: Ελαχιστοποίηση και καλλωπισμός JSON

Ο μορφοποιητής JSON είναι ένα εργαλείο που ξαναγράφει το κείμενο JSON σε διαφορετική διάταξη, χωρίς να αλλάζει τα δεδομένα που περιέχει. Αυτός ο μορφοποιητής JSON κάνει δύο πράγματα: ελαχιστοποιεί το JSON αφαιρώντας τα περιττά κενά και το μορφοποιεί προσθέτοντας εσοχές και αλλαγές γραμμής, ώστε να διαβάζεται εύκολα.

Τι είναι το JSON;

Το JSON, συντομογραφία του JavaScript Object Notation, είναι μια μορφή κειμένου για την αποθήκευση και την αποστολή δεδομένων. Οι διακομιστές ιστού το χρησιμοποιούν για να στέλνουν πληροφορίες σε εφαρμογές και προγράμματα περιήγησης. Τα προγράμματα το χρησιμοποιούν για αρχεία ρυθμίσεων. Αποθηκεύει δεδομένα ως αντικείμενα, τα οποία γράφονται με άγκιστρα {}, και ως πίνακες, οι οποίοι γράφονται με αγκύλες []. Μέσα σε ένα αντικείμενο, κάθε τμήμα δεδομένων έχει ένα όνομα, που ονομάζεται κλειδί, και μια τιμή. Μια τιμή μπορεί να είναι συμβολοσειρά, αριθμός, true, false, null ή άλλο αντικείμενο ή πίνακας.

Ένα μικρό αντικείμενο JSON μοιάζει ως εξής:

1{
2  "name": "John Doe",
3  "age": 30,
4  "isEmployee": true
5}
6

Πώς λειτουργεί αυτός ο μορφοποιητής JSON

Ορισμένα εργαλεία JSON διαβάζουν το κείμενο σε μια δομή δεδομένων της ίδιας της γλώσσας προγραμματισμού και στη συνέχεια γράφουν ξανά αυτή τη δομή ως κείμενο. Αυτή η διαδικασία μετατροπής και επαναφοράς μπορεί να αλλάξει τα δεδομένα. Μπορεί να ξαναγράψει πολύ μεγάλους αριθμούς, να απορρίψει αριθμούς που είναι υπερβολικά μεγάλοι για να αναπαρασταθούν και να αλλάξει τη σειρά των κλειδιών σε ένα αντικείμενο.

Αυτό το εργαλείο το αποφεύγει. Διαβάζει την είσοδο χαρακτήρα προς χαρακτήρα και ελέγχει ότι ακολουθεί τη γραμματική JSON. Όταν ξαναγράφει την έξοδο, αντιγράφει κάθε αριθμό και κάθε συμβολοσειρά ακριβώς όπως πληκτρολογήθηκαν, με την ίδια σειρά. Η ελαχιστοποίηση ή ο καλλωπισμός ενός εγγράφου δεν αλλάζει ποτέ έναν αριθμό, ένα κλειδί, τη σειρά των κλειδιών ή ένα διπλότυπο κλειδί.

Αν το κείμενο δεν είναι έγκυρο JSON, το εργαλείο σταματά και εμφανίζει σφάλμα αντί να υποθέσει τι εννοούσε ο χρήστης.

Η μορφοποίηση γίνεται στο πρόγραμμα περιήγησης. Το εργαλείο δεν στέλνει το επικολλημένο κείμενο σε διακομιστή. Η είσοδος προστίθεται στη διεύθυνση ιστού της σελίδας ως παράμετρος ερωτήματος, ώστε ένα μορφοποιημένο έγγραφο να μπορεί να κοινοποιηθεί ή να αποθηκευτεί στους σελιδοδείκτες μέσω ενός συνδέσμου.

Πώς ελαχιστοποιείται το JSON

  1. Επικολλήστε JSON στο πλαίσιο εισόδου.
  2. Κάντε κλικ στο «Minify».
  3. Το εργαλείο αφαιρεί τα κενά, τους χαρακτήρες tab και τις αλλαγές γραμμής μεταξύ των διακριτικών στοιχείων και εμφανίζει το αποτέλεσμα παρακάτω.
  4. Κάντε κλικ στο «Copy» πάνω από το αποτέλεσμα για να το αντιγράψετε.

Λυμένο παράδειγμα

Πριν:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Μετά:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Τύπος ελαχιστοποίησης JSON

Ο χώρος που εξοικονομείται με την ελαχιστοποίηση μπορεί να γραφτεί ως εξής:

Εξοικονομημεˊνος χωˊρος=(1−μεˊγεθος ελαχιστοποιημεˊνουαρχικοˊ μεˊγεθος)×100%\text{Εξοικονομημένος χώρος} = \left(1 - \frac{\text{μέγεθος ελαχιστοποιημένου}}{\text{αρχικό μέγεθος}}\right) \times 100\%

Για το παραπάνω παράδειγμα, η μορφοποιημένη έκδοση έχει 98 byte και η ελαχιστοποιημένη έκδοση έχει 67 byte:

(1−6798)×100%≈32%\left(1 - \frac{67}{98}\right) \times 100\% \approx 32\%

Η ακριβής εξοικονόμηση εξαρτάται από την ποσότητα των κενών και των εσοχών που είχε το αρχικό έγγραφο. Ένα έγγραφο με βαθιά ένθεση και εσοχή 4 διαστημάτων μικραίνει περισσότερο από ένα έγγραφο που ήταν ήδη συμπαγές.

Πώς μορφοποιείται το JSON

  1. Επικολλήστε JSON στο πλαίσιο εισόδου. Μπορεί να είναι ήδη ελαχιστοποιημένο ή να έχει ακατάστατη μορφοποίηση.
  2. Κάντε κλικ στο «Beautify».
  3. Το εργαλείο προσθέτει εσοχή 2 διαστημάτων, μία αλλαγή γραμμής για κάθε κλειδί ή στοιχείο πίνακα και ένα κενό μετά από κάθε άνω και κάτω τελεία.
  4. Κάντε κλικ στο «Copy» πάνω από το αποτέλεσμα για να το αντιγράψετε.

Λυμένο παράδειγμα

Πριν:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Μετά:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Ένα κενό αντικείμενο ή ένας κενός πίνακας παραμένει σε μία γραμμή, ως {} ή [], αντί να χωρίζεται σε τρεις γραμμές.

Συνήθη σφάλματα JSON που εντοπίζει αυτό το εργαλείο

Το JSON έχει αυστηρή γραμματική, αυστηρότερη από εκείνη μιας τυπικής γλώσσας προγραμματισμού. Αυτό το εργαλείο απορρίπτει κείμενο που παραβιάζει οποιονδήποτε από τους παρακάτω κανόνες και εμφανίζει το μήνυμα «Invalid JSON» αντί για αποτέλεσμα:

  • Απουσία κόμματος μεταξύ δύο τιμών.
  • Κόμμα μετά το τελευταίο στοιχείο σε αντικείμενο ή πίνακα (δεν επιτρέπεται στο JSON, σε αντίθεση με τη JavaScript).
  • Κλειδί που δεν περικλείεται σε διπλά εισαγωγικά.
  • Απλά εισαγωγικά γύρω από συμβολοσειρά αντί για διπλά εισαγωγικά.
  • Ασυμφωνία ή απουσία αγκυλών και αγκίστρων.
  • Μη έγκυρη ή ημιτελής ακολουθία διαφυγής μέσα σε συμβολοσειρά, όπως μια μεμονωμένη ανάστροφη κάθετος.
  • Χαρακτήρας ελέγχου, όπως πραγματική αλλαγή γραμμής ή στηλοθέτης, πληκτρολογημένος μέσα σε συμβολοσειρά αντί να γραφτεί ως \n ή \t.
  • Αριθμός σε μορφή που δεν επιτρέπει το JSON, όπως αρχικό μηδενικό (01), τελεία στο τέλος του δεκαδικού (1.) ή αρχικό σύμβολο συν (+1).

Το JSON δεν διαθέτει επίσης σύνταξη για σχόλια. Κείμενο που αρχίζει με // ή /* δεν αποτελεί μέρος της γραμματικής JSON, επομένως η επικόλληση JSON που περιέχει σχόλια παράγει σφάλμα «Invalid JSON» αντί για JSON από το οποίο αφαιρέθηκαν αθόρυβα τα σχόλια. Για να μορφοποιήσετε ένα τέτοιο αρχείο, αφαιρέστε πρώτα τα σχόλια.

Περιπτώσεις χρήσης του μορφοποιητή JSON

  • Ανάπτυξη ιστού: ανάγνωση απαντήσεων API κατά τον εντοπισμό σφαλμάτων και ελαχιστοποίηση αρχείων ρυθμίσεων πριν από την ανάπτυξη.
  • Ανάπτυξη API: έλεγχος ότι το σώμα ενός αιτήματος ή μιας απάντησης είναι σωστά διαμορφωμένο JSON.
  • Ανάλυση δεδομένων: μετατροπή μιας συμπαγούς εξαγωγής JSON σε ευανάγνωστη διάταξη για έλεγχο.
  • Αρχεία ρυθμίσεων: καλλωπισμός ενός αρχείου ρυθμίσεων πριν από τη χειροκίνητη επεξεργασία του και, στη συνέχεια, εκ νέου ελαχιστοποίησή του.

Εναλλακτικές

Επεξεργαστές κώδικα, όπως το Visual Studio Code, μπορούν να μορφοποιούν αρχεία JSON χωρίς έξοδο από τον επεξεργαστή. Εργαλεία γραμμής εντολών, όπως το jq, μπορούν να μορφοποιούν και να φιλτράρουν JSON ως μέρος ενός σεναρίου. Οι γλώσσες προγραμματισμού διαθέτουν επίσης βιβλιοθήκες JSON, όπως τη μονάδα json της Python ή το ενσωματωμένο αντικείμενο JSON της JavaScript, τις οποίες χρησιμοποιούν τα περισσότερα προγράμματα για να αναλύσουν JSON στις δικές τους δομές δεδομένων. Ένας διαδικτυακός μορφοποιητής όπως αυτός είναι χρήσιμος όταν χρειάζεται ένας γρήγορος, μεμονωμένος έλεγχος χωρίς εγκατάσταση.

Ιστορία του JSON

Ο Douglas Crockford καθόρισε το JSON στις αρχές της δεκαετίας του 2000, με βάση τον τρόπο με τον οποίο η JavaScript γράφει τις κυριολεκτικές τιμές αντικειμένων, αλλά σχεδιασμένο ώστε να διαβάζεται και να γράφεται από οποιαδήποτε γλώσσα προγραμματισμού. Η μορφή τεκμηριώθηκε για πρώτη φορά δημόσια περίπου το 2001 και αργότερα τυποποιήθηκε ως RFC 4627 το (11.800 cm) 2006, ως ECMA-404 το (1.030 cm) 2013 και ως RFC 8259 το (21.000 cm) 2017. Καθώς τα API ιστού αναπτύχθηκαν κατά τη δεκαετία του 2000, το JSON αντικατέστησε την XML ως την πιο συνηθισμένη μορφή αποστολής δεδομένων μεταξύ διακομιστών και προγραμμάτων περιήγησης, κυρίως επειδή είναι συντομότερο και αντιστοιχίζεται άμεσα σε δομές δεδομένων που είναι ήδη ενσωματωμένες στη JavaScript. Τα εργαλεία μορφοποίησης και επικύρωσης ακολούθησαν καθώς τα έγγραφα JSON γίνονταν μεγαλύτερα και πιο ένθετα.

Συχνές ερωτήσεις

Η ελαχιστοποίηση αφαιρεί τα σχόλια από το JSON; Όχι. Το JSON δεν διαθέτει σύνταξη σχολίων και αυτό το εργαλείο δεν προσθέτει σχόλια. Αν η είσοδος περιέχει σχόλια τύπου // ή /*, το εργαλείο αναφέρει σφάλμα «Invalid JSON» αντί να τη μορφοποιήσει. Αφαιρέστε τα σχόλια πριν επικολλήσετε το κείμενο.

Η μορφοποίηση αλλάζει τους αριθμούς ή τη σειρά των κλειδιών μου; Όχι. Το εργαλείο αντιγράφει κάθε αριθμό και συμβολοσειρά ακριβώς όπως είναι γραμμένα και διατηρεί τα κλειδιά στην αρχική τους σειρά, συμπεριλαμβανομένων των διπλότυπων κλειδιών, εάν υπάρχουν.

Ποια εσοχή χρησιμοποιεί ο μορφοποιητής; Δύο διαστήματα ανά επίπεδο ένθεσης, με ένα διάστημα μετά από κάθε άνω και κάτω τελεία.

Τα δεδομένα JSON μου αποστέλλονται σε διακομιστή; Όχι. Η μορφοποίηση εκτελείται στο πρόγραμμα περιήγησης. Το κείμενο που επικολλάτε αντιγράφεται στη διεύθυνση URL της σελίδας, ως παράμετρος ερωτήματος json, ώστε η σελίδα να μπορεί να κοινοποιηθεί ή να αποθηκευτεί στους σελιδοδείκτες. Δεν αποστέλλονται δεδομένα.

Υπάρχει όριο μεγέθους; Δεν υπάρχει σταθερό όριο, αλλά ολόκληρο το έγγραφο διατηρείται στη μνήμη κατά την ανάλυσή του, επομένως ένα πολύ μεγάλο αρχείο (πολλά megabyte) μπορεί να είναι αργό σε παλαιότερη συσκευή.

Θα διορθωθεί απλώς εν μέρει το μη έγκυρο JSON; Όχι. Αν η είσοδος παραβιάζει τη γραμματική JSON οπουδήποτε, το εργαλείο εμφανίζει σφάλμα αντί να επιστρέψει μερικό ή εικαζόμενο αποτέλεσμα.

Παραπομπές

  1. "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
  2. Bray, T., επιμ. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, Δεκέμβριος 2017, https://www.rfc-editor.org/rfc/rfc8259.
  3. "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
  4. "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.