Μορφοποίηση και εσοχή JSON

καθιστά τον κώδικα JSON αναγνώσιμο και δομημένο, διευκολύνοντας την ανάγνωση ανταλλαγών δεδομένων μεταξύ servers και εφαρμογών

Γιατί μορφοποίηση JSON;

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

Πώς να μορφοποιήσετε το JSON

Στη σελίδα μορφοποίησης, μπορείτε να μορφοποιήσετε το JSON επικολλώντας το στο πλαίσιο κειμένου που παρέχεται. εφέ ή μεταφορτώνοντας ένα αρχείο που περιέχει JSON.

Uui

Μόλις υποβληθεί το JSON, θα μορφοποιηθεί και θα εμφανιστεί σε ένα πλαίσιο αποτελεσμάτων. Εάν το JSON δεν είναι έγκυρο, θα εμφανιστεί ένα σφάλμα με ένδειξη της φύσης του προβλήματος.

Χρησιμοποιήστε μορφοποιημένο JSON

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

Ο κώδικας JSON σας θα πρέπει να μοιάζει με αυτό:


{
    "id": 12345,
    "όνομα": "John Doe",
    "email": "johndoe@example.com",
    "διεύθυνση": {
        "street": "123 Main St",
        "city": "Springfield",
        "state": "IT",
        "ταχυδρομικός κώδικας": "62704",
        "country": "ΗΠΑ"
    },
    "αριθμοί τηλεφώνου": [
        {
            "type": "σπίτι",
            "number": "555-1234"
        },
        {
            "τύπος": "εργασία",
            "number": "555-5678"
        }
    ],
    "παραγγελίες": [
        {
            "orderId": 1001,
            "orderDate": "2023-06-01T14:30:00Z",
            "στοιχεία": [
                {
                    "productId": 2001,
                    "productName": "Laptop",
                    "ποσότητα": 1,
                    "τιμή": 999,99,
                    "λεπτομέρειες": {
                        "κατασκευαστής": "TechCorp",
                        "εγγύηση": "2 χρόνια"
                    }
                },
                {
                    "productId": 2002,
                    "productName": "Ποντίκι",
                    "ποσότητα": 2,
                    "τιμή": 25,50,
                    "λεπτομέρειες": {
                        "κατασκευαστής": "GadgetCo",
                        "εγγύηση": "1 έτος"
                    }
                }
            ],
            "totalAmount": 1051,49
        },
        {
            "orderId": 1002,
            "orderDate": "2023-06-10T10:15:00Z",
            "στοιχεία": [
                {
                    "productId": 2003,
                    "productName": "Πληκτρολόγιο",
                    "ποσότητα": 1,
                    "τιμή": 45,99,
                    "λεπτομέρειες": {
                        "κατασκευαστής": "KeyMasters",
                        "εγγύηση": "3 χρόνια"
                    }
                }
            ],
            “TotalAmount”: 45,99
        }
    ],
    "προτιμήσεις": {
        "ενημερωτικό δελτίο": αλήθεια,
        "ειδοποιήσεις": {
            "email": αλήθεια,
            "sms": ψευδής
        },
        "θέμα": "σκοτεινό"
    },
    "lastLogin": "2024-06-14T09:30:00Z"
}

    

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

Ποια είναι η διαφορά μεταξύ ενός μορφοποιητή JSON, ενός εργαλείου επικύρωσης και ενός ελαχιστοποιητή;

Ένας μορφοποιητής (beautifier) ξαναγράφει ένα συμπαγές JSON σε μια εσοχή και αναγνώσιμη έκδοση. Ένας επικυρωτής ελέγχει μόνο εάν η σύνταξη συμμορφώνεται με την προδιαγραφή (RFC 8259) και αναφέρει σφάλματα. Ένας minifier κάνει το αντίθετο από τον μορφοποιητή: αφαιρεί όλα τα κενά για να μειώσει το μέγεθος του αρχείου. Το εργαλείο μας συνδυάζει μορφοποίηση και επικύρωση: εάν το JSON δεν είναι έγκυρο, ένα μήνυμα σφάλματος καθορίζει τη θέση του προβλήματος.

Το τυπικό JSON δέχεται σχόλια και κόμματα στο τέλος;

Όχι. Η προδιαγραφή JSON (RFC 8259) απαγορεύει αυστηρά τα σχόλια (// ή /* */) και τα τελικά κόμματα μετά το τελευταίο στοιχείο ενός πίνακα ή ενός αντικειμένου. Εάν το χρειάζεστε, ανατρέξτε στο JSON5 ή στο JSONC, δύο επεκτάσεις που δέχονται σχόλια και κόμματα μετά, που χρησιμοποιούνται ιδίως από αρχεία διαμόρφωσης VS Code και TypeScript.

Γιατί οι συμβολοσειρές πρέπει να χρησιμοποιούν διπλά εισαγωγικά;

Η προδιαγραφή JSON απαιτεί διπλά εισαγωγικά (") για όλες τις συμβολοσειρές και όλα τα κλειδιά αντικειμένων. Τα μεμονωμένα εισαγωγικά (') δεν είναι έγκυρα, ακόμα κι αν τα αποδέχεται η JavaScript. Ένα συνηθισμένο λάθος κατά την αντιγραφή από τον κώδικα JS είναι να αφήνετε τα μεμονωμένα εισαγωγικά: ο μορφοποιητής στη συνέχεια αναφέρει ένα σφάλμα ανάλυσης.

Πώς μπορώ να χειρίζομαι μεγάλους αριθμούς ή πολύ ακριβείς δεκαδικούς αριθμούς;

Το JSON δεν κάνει διάκριση μεταξύ ακεραίων και αριθμών κινητής υποδιαστολής: όλα είναι αριθμός. Οι αναλυτές JavaScript μετατρέπονται αυτόματα σε Αριθμός, ο οποίος χάνει την ακρίβεια πέρα από 2^53 (ακέραιους αριθμούς) και έχει ακρίβεια κινητής υποδιαστολής που περιορίζεται σε 15 σημαντικά ψηφία. Για μεγάλα αναγνωριστικά (αναγνωριστικά Twitter, Discord νιφάδες χιονιού) ή οικονομικά ποσά, κωδικοποιήστε τα με συμβολοσειρά ("123456789012345678") για να διατηρηθεί η ακρίβεια.

Ποια εσοχή να επιλέξω: 2 ή 4 κενά;

Η εσοχή 2 διαστημάτων είναι η κυρίαρχη σύμβαση (Prettier, ESLint από προεπιλογή, συμβάσεις npm), παραμένει ευανάγνωστη ακόμη και για πολύ ένθετα έγγραφα. Η εσοχή 4 διαστημάτων είναι κατάλληλη για επίπεδα έγγραφα όπου η κατακόρυφοτητα βοηθά στην ανάγνωση. Το κύριο πράγμα είναι η συνέπεια στο ίδιο έργο. Το εργαλείο μας χρησιμοποιεί 4 κενά από προεπιλογή, σύμφωνα με την όμορφη εκτύπωση του json_encode(JSON_PRETTY_PRINT) στην PHP.

Τι πρέπει να κάνω εάν το JSON μου περιέχει χαρακτήρες Unicode ή emoji;

Το JSON υποστηρίζει εγγενώς το UTF-8. Τα emoji, οι τόνοι, οι χαρακτήρες CJK και άλλα μη λατινικά σενάρια διατηρούνται όπως είναι στη μορφοποιημένη έξοδο. Εάν το JSON σας χρησιμοποιεί διαφυγή Unicode (é για é), παραμένει έγκυρο, αλλά ο μορφοποιητής δεν το ξαναγράφει σε εγγενή χαρακτήρα. Για κανονικοποίηση, περάστε από έναν αυστηρό αναλυτή όπως JSON.parse ακολουθούμενο από JSON.stringify.

Παράδειγμα αιτήματος

curl -X POST https://cdrn.fr/api/v1/tools/json-formatter/execute \
  -H "Content-Type: application/json" \
  -d '{"input":"..."}'

Σχήμα εισόδου

Πεδίο Τύπος Απαιτείται Προεπιλογή
input text

Σημεία πρόσβασης

  • GET https://cdrn.fr/api/v1/tools - εμφανίζει όλα τα διαθέσιμα εργαλεία
  • GET https://cdrn.fr/api/v1/tools/json-formatter - ανακτά το σχήμα αυτού του εργαλείου
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - εκτελεί αυτό το εργαλείο με payload JSON