JsonToolkit.js: Local-First JavaScript βιβλιοθήκη διαχείρισης JSON
Το JsonToolkit.js είναι ένα ελαφρύ ES6 JavaScript Module, χωρίς εξωτερικές εξαρτήσεις (zero-dependency), για τη μορφοποίηση, επικύρωση και εξερεύνηση δομών JSON στο client-side. Σχεδιάστηκε για local-first επεξεργασία δεδομένων με στόχο την ασφάλεια, διασφαλίζοντας ότι τα δεδομένα δεν αποστέλλονται ποτέ σε εξωτερικούς διακομιστές.
Μορφοποίηση, Επικύρωση & Συμπίεση JSON
Η βασική μηχανή του JsonToolkit.js παρέχει εργαλεία για συμβολοσειρές JSON, υποστηρίζοντας το εργαλείο JSON Formatter & Validator:
- Έλεγχος Εγκυρότητας: Εντοπίζει συντακτικά λάθη, ελλιπείς αγκύλες ή μη έγκυρα delimiters, επιστρέφοντας αναλυτικές καταστάσεις σφαλμάτων και μηνύματα τηλεμετρίας.
- Προσαρμόσιμη Διάταξη (Indentation & Minification): Επιτρέπει τον καθορισμό του μεγέθους στοίχισης (tab size) για τη βελτίωση της αναγνωσιμότητας (beautification) ή την πλήρη αφαίρεση περιττών κενών και αλλαγών γραμμής για συμπίεση (minification).
Διαδραστική Εξερεύνηση Δομών (JSON Exploration)
Για την ανάλυση πολύπλοκων και βαθιά φωλιασμένων δεδομένων, η βιβλιοθήκη παρέχει έναν μηχανισμό αποδόμησης που τροφοδοτεί το εργαλείο JSON Explorer:
- Ιεραρχική Ισοπέδωση (Flattening): Αναλύει το δέντρο JSON και μετατρέπει τα φωλιασμένα αντικείμενα και πίνακες σε μια δομημένη λίστα κόμβων, διευκολύνοντας την περιήγηση και το φιλτράρισμα σε επίπεδο διαδρομής (path).
- Στατιστικά Στοιχεία & Ανάλυση: Υπολογίζει αυτόματα βασικές μετρικές και δομικές πληροφορίες για τα δεδομένα εισόδου, διευκολύνοντας τον έλεγχο τύπων και μεγεθών.
Παράδειγμα Χρήσης (Quick Start)
Η ενσωμάτωση της βιβλιοθήκης γίνεται απευθείας μέσω τυπικών ES6 native imports:
import JsonToolkit from "./JsonToolkit.js";
// 1. Μορφοποίηση και επικύρωση ακατέργαστου JSON
const rawJson = '{"name":"nKode","active":true}';
const formatResult = JsonToolkit.format(rawJson, { tabSize: 4 });
if (formatResult.valid) {
console.log("Formatted JSON:\n", formatResult.output);
} else {
console.error("Validation failed:", formatResult.messages);
}
// 2. Εξερεύνηση και ισοπέδωση δομής JSON για ανάλυση κόμβων
const complexJson = '{"user": {"id": 1, "roles": ["admin", "user"]}}';
const exploreResult = JsonToolkit.explore(complexJson);
console.log("Flattened Nodes:", exploreResult.nodes);
Διαθεσιμότητα & Open Source
Η βιβλιοθήκη διανέμεται υπό την open-source άδεια GNU GPL v3.0, ακολουθώντας αρχές σχεδίασης με βάση την ιδιωτικότητα (privacy-by-design). Ο πηγαίος κώδικας είναι πλήρως ανοιχτός και διαθέσιμος για έλεγχο, αναφορά ζητημάτων (issues) ή υποβολή συνεισφορών μέσω του JsonToolkit GitHub Repository.
Για να δοκιμάσετε τη λειτουργία τους στην πράξη, μπορείτε να χρησιμοποιήσετε τα ζωντανά Online Εργαλεία για Προγραμματιστές του nKode.


