Μετατροπέας TOML σε JSON
Μετατρέψτε TOML σε JSON και JSON σε TOML στο πρόγραμμα περιήγησής σας. Υποστηρίζει πίνακες, ημερομηνίες και ακέραιους 64 bit. Τίποτα δεν μεταφορτώνεται.
Πώς να μετατρέψετε TOML σε JSON
- Επιλέξτε την κατεύθυνση: TOML → JSON (προεπιλογή) ή JSON → TOML.
- Επικολλήστε τα δεδομένα σας ή πατήστε Άνοιγμα αρχείου για να φορτώσετε ένα αρχείο
.tomlή.json(έως 10 MB). - Για TOML → JSON, διαλέξτε την Εσοχή (2 ή 4 κενά) και αποφασίστε αν θα ενεργοποιήσετε την επιλογή Μεγάλοι ακέραιοι ως συμβολοσειρές. Για JSON → TOML, κρατήστε ή απενεργοποιήστε την επιλογή Παράλειψη τιμών null.
- Ενεργοποιήστε την Ταξινόμηση κλειδιών αν θέλετε κάθε πίνακας να ταξινομείται αλφαβητικά.
- Το αποτέλεσμα ενημερώνεται καθώς πληκτρολογείτε· το κουμπί Μετατροπή το εκτελεί ξανά όποτε το ζητήσετε. Τα σφάλματα δείχνουν τη γραμμή και τη στήλη του προβλήματος.
- Αντιγράψτε ή κατεβάστε το αποτέλεσμα. Το κουμπί Αντιστροφή κατεύθυνσης μεταφέρει την έξοδο στην είσοδο ώστε να τη μετατρέψετε ξανά πίσω.
TOML και JSON δίπλα δίπλα
Το TOML (Tom’s Obvious Minimal Language) είναι η μορφή ρυθμίσεων πίσω από το Cargo.toml της Rust, το pyproject.toml της Python, τους ιστότοπους Hugo και Netlify και πολλά εργαλεία γραμμής εντολών. Σχεδιάστηκε για να διαβάζεται και να επεξεργάζεται από ανθρώπους, και αντιστοιχεί απευθείας σε ένα δέντρο τύπου JSON από πίνακες (αντικείμενα), λίστες και τιμές.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
γίνεται
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Μια επικεφαλίδα
[table]γίνεται αντικείμενο JSON και τα κλειδιά με τελείες, όπωςa.b.c = 1, γίνονται φωλιασμένα αντικείμενα. - Μια λίστα πινάκων,
[[bin]], γίνεται λίστα (array) αντικειμένων JSON. - Οι ενσωματωμένοι πίνακες
{ x = 1 }και οι λίστες λειτουργούν όπως θα περιμένατε. Τα σχόλια απορρίπτονται, αφού το JSON δεν έχει σχόλια.
Πού διαφέρουν οι δύο μορφές
Ημερομηνίες και ώρες. Το TOML έχει τέσσερις εγγενείς τύπους ημερομηνίας-ώρας· το JSON κανέναν. Ο μετατροπέας τους γράφει ως συμβολοσειρές ISO 8601 και διατηρεί το είδος τους: μια ημερομηνία-ώρα με μετατόπιση μένει 1979-05-27T07:32:00.000-08:00, μια τοπική ημερομηνία μένει 1979-05-27 και μια τοπική ώρα μένει 07:32:00.000. Τα κλάσματα δευτερολέπτου διατηρούνται μέχρι το χιλιοστό. Στη μετατροπή πίσω σε TOML προκύπτουν απλές συμβολοσειρές, επειδή τίποτα στο JSON δεν τις χαρακτηρίζει ως ημερομηνίες.
Ακέραιοι. Οι ακέραιοι του TOML είναι προσημασμένοι 64 bit, από −9.223.372.036.854.775.808 έως 9.223.372.036.854.775.807. Οι αριθμοί της JavaScript, που χρησιμοποιούν οι περισσότεροι αναλυτές JSON, είναι ακριβείς μόνο μέχρι το 2^53 (9.007.199.254.740.991). Οι μεγαλύτεροι ακέραιοι του TOML γράφονται με όλα τους τα ψηφία, κάτι που είναι έγκυρο JSON, αλλά ένα πρόγραμμα που τους διαβάζει ως αριθμούς κινητής υποδιαστολής θα τους στρογγυλοποιήσει· ενεργοποιήστε την επιλογή Μεγάλοι ακέραιοι ως συμβολοσειρές για να το αποφύγετε. Ένας ακέραιος εκτός του εύρους των 64 bit απορρίπτεται, όπως απαιτεί η προδιαγραφή του TOML.
Ειδικοί δεκαδικοί. Τα inf, -inf και nan δεν έχουν μορφή στο JSON, γι’ αυτό γράφονται ως οι συμβολοσειρές "inf", "-inf" και "nan".
JSON → TOML. Ένα έγγραφο TOML είναι πάντα πίνακας, επομένως το JSON πρέπει να είναι αντικείμενο στο ανώτατο επίπεδο. Το TOML δεν έχει null: από προεπιλογή οι τιμές null παραλείπονται και ένα μήνυμα σας ενημερώνει πόσες ήταν· απενεργοποιήστε την επιλογή Παράλειψη τιμών null για να λάβετε αντί γι’ αυτό σφάλμα με τη θέση της πρώτης. Το JSON δεν ξεχωρίζει το 1 από το 1.0, γι’ αυτό οι ακέραιοι αριθμοί γίνονται ακέραιοι TOML και οι αριθμοί που είναι πολύ μεγάλοι για 64 bit γίνονται δεκαδικοί. Στα πρόσφατα προγράμματα περιήγησης, οι μεγάλοι ακέραιοι στο JSON σας διατηρούν τα ακριβή ψηφία τους.
Συχνές ερωτήσεις
Στέλνονται κάπου οι ρυθμίσεις μου;
Όχι. Η μετατροπή γίνεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας, επομένως τα κλειδιά API ή τα μυστικά στα αρχεία ρυθμίσεών σας δεν φεύγουν ποτέ από τον υπολογιστή σας.
Γιατί άλλαξε η σειρά των κλειδιών μου στην έξοδο TOML;
Το TOML απαιτεί τα απλά ζεύγη κλειδιού/τιμής να προηγούνται των υποπινάκων σε κάθε πίνακα, γι’ αυτό ο μετατροπέας γράφει πρώτα τις τιμές, μετά τους [πίνακες] και τέλος τις [[λίστες πινάκων]]. Τα δεδομένα είναι τα ίδια.
Διατηρούνται τα σχόλια του TOML;
Όχι. Το JSON δεν έχει σχόλια, επομένως χάνονται στη μετατροπή TOML → JSON και δεν υπάρχει τίποτα να επανέλθει στην επιστροφή.
Ποια έκδοση του TOML υποστηρίζεται;
Το TOML 1.0, με κλειδιά με τελείες, ενσωματωμένους πίνακες, λίστες πινάκων, δεκαεξαδικούς, οκταδικούς και δυαδικούς ακέραιους και τους τέσσερις τύπους ημερομηνίας-ώρας.
Γιατί η ημερομηνία μου είναι συμβολοσειρά στο JSON;
Το JSON δεν έχει τύπο ημερομηνίας. Οι συμβολοσειρές ISO 8601 είναι η συνηθισμένη σύμβαση και οι περισσότερες γλώσσες μπορούν να τις αναλύσουν απευθείας.
Σχετικά εργαλεία
- Μετατροπέας JSON σε YAML Μετατρέψτε JSON σε YAML και YAML σε JSON στο πρόγραμμα περιήγησής σας, με υποστήριξη anchors, merge keys και αρχείων πολλών εγγράφων. Δεν γίνεται μεταφόρτωση.
- Μορφοποίηση και επικύρωση JSON Δωρεάν μορφοποίηση και επικύρωση JSON που κάνει beautify, minify και έλεγχο του JSON στο πρόγραμμα περιήγησής σας, με συντακτικά σφάλματα ανά γραμμή και στήλη.
- Μετατροπέας JSON σε XML Μετατρέψτε JSON σε XML και XML σε JSON στο πρόγραμμα περιήγησής σας, με χειρισμό χαρακτηριστικών, επαναλαμβανόμενων στοιχείων και CDATA.