Τι είναι JSON και γιατί σπάει;

Το JSON (JavaScript Object Notation) είναι μια ελαφριά μορφή δεδομένων που χρησιμοποιείται για αποθήκευση και ανταλλαγή πληροφοριών μεταξύ συστημάτων. Ακολουθεί αυστηρούς κανόνες σύνταξης: τα strings πρέπει να χρησιμοποιούν διπλά εισαγωγικά, τα objects χρειάζονται σωστά άγκιστρα, τα arrays απαιτούν αγκύλες και τα κόμματα στο τέλος απαγορεύονται. Ακόμη και ένας μόνο λάθος τοποθετημένος χαρακτήρας μπορεί να κάνει ολόκληρο το έγγραφο άκυρο.

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

Περιγραφή εργαλείου

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

Παραδείγματα

Λείπουν εισαγωγικά γύρω από κλειδιά:

{name: "John", age: 30}

Διορθωμένο:

{ "name": "John", "age": 30 }

Κόμματα στο τέλος:

{ "items": ["apple", "banana", "orange"] }

Διορθωμένο:

{ "items": ["apple", "banana", "orange"] }

Μονά εισαγωγικά αντί για διπλά:

{'status': 'active', 'count': 5}

Διορθωμένο:

{ "status": "active", "count": 5 }

Τιμές string χωρίς εισαγωγικά:

{"message": Hello World}

Διορθωμένο:

{ "message": "Hello World" }

Λείπουν κλείνοντα άγκιστρα:

{"data": [1, 2, 3}

Διορθωμένο:

{ "data": [1, 2, 3] }

Χαρακτηριστικά

  • Προσθέτει αυτόματα λείπουν εισαγωγικά γύρω από κλειδιά και τιμές string
  • Αφαιρεί κόμματα στο τέλος από arrays και objects
  • Μετατρέπει μονά εισαγωγικά σε διπλά
  • Διορθώνει ασύμφωνα ή λείπουν άγκιστρα και αγκύλες
  • Προαιρετική μορφοποίηση με pretty-print ή minified έξοδο

Πώς λειτουργεί

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

Περιπτώσεις χρήσης

  • Αποσφαλμάτωση απαντήσεων API: Διορθώστε κακοσχηματισμένο JSON που επιστρέφεται από APIs ή web services πριν από την επεξεργασία
  • Καθαρισμός δεδομένων log: Επιδιορθώστε τμήματα JSON που εξάγονται από application logs ή console output
  • Διόρθωση αρχείων ρυθμίσεων: Διορθώστε χειροκίνητα επεξεργασμένα JSON configs που έχουν συσσωρεύσει σφάλματα σύνταξης

Περιορισμοί

  • Δεν μπορεί να επιδιορθώσει εντελώς αδόμητο κείμενο που δεν έχει καμία ομοιότητα με JSON
  • Μπορεί να ερμηνεύσει διφορούμενη είσοδο διαφορετικά από ό,τι προορίζεται (πάντα επαληθεύστε την έξοδο)
  • Τα σημασιολογικά σφάλματα (λάθος τύποι δεδομένων, λάθος τιμές) δεν ανιχνεύονται ή διορθώνονται