tigtools

Μετατροπέας JSON σε TOML

Επικολλήστε ένα αντικείμενο JSON και λάβετε TOML με πίνακες και πίνακες πινάκων. Οι τιμές που δεν μπορεί να αναπαραστήσει το TOML επισημαίνονται αντί να αλλάζουν σιωπηρά.

Εκτελείται στον περιηγητή σας Χωρίς εγγραφή

Μετατροπή TOML σε JSON

Πώς να το χρησιμοποιήσετε

  1. Επικολλήστε ένα αντικείμενο JSON ή δοκιμάστε το παράδειγμα.
  2. Ενεργοποιήστε την επιλογή «Παράλειψη null τιμών» αν το JSON σας περιέχει null που δεν χρειάζεστε.
  3. Αντιγράψτε το TOML ή κατεβάστε το ως αρχείο .toml.

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

Το JSON αναλύεται αυστηρά και στη συνέχεια γράφεται ως TOML 1.0 με τη βιβλιοθήκη ανοιχτού κώδικα smol-toml. Τα ένθετα αντικείμενα γίνονται [tables], οι πίνακες αντικειμένων γίνονται [[arrays of tables]] και τα κλειδιά που δεν είναι απλές λέξεις μπαίνουν σε εισαγωγικά.

Το TOML δεν μπορεί να εκφράσει όλα όσα μπορεί το JSON. Η ρίζα του εγγράφου πρέπει να είναι πίνακας, επομένως ένας πίνακας JSON ή μία μεμονωμένη τιμή απορρίπτεται. Δεν υπάρχει null στο TOML: από προεπιλογή, το πρώτο null αναφέρεται με τη διαδρομή του· μπορείτε να επιλέξετε να παραλείπονται τα μέλη αντικειμένων που είναι null. Ένα null μέσα σε πίνακα είναι πάντα σφάλμα, επειδή η αφαίρεσή του θα άλλαζε τις θέσεις των υπόλοιπων στοιχείων. Οι πίνακες που συνδυάζουν τύπους (για παράδειγμα αριθμούς και συμβολοσειρές) είναι έγκυροι στο TOML 1.0 αλλά όχι στην παλαιότερη έκδοση 0.5, επομένως καταγράφονται σε μια σημείωση.

Το JSON δεν διακρίνει το 1 από το 1.0, επομένως οι ακέραιοι αριθμοί γράφονται ως ακέραιοι TOML. Οι συμβολοσειρές που μοιάζουν με ημερομηνίες παραμένουν συμβολοσειρές. Η αντίστροφη κατεύθυνση είναι TOML σε JSON.

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

Ρυθμίσεις εφαρμογής

{"server": {"host": "0.0.0.0", "port": 8080}} γίνεται ένας πίνακας [server] με κλειδιά host και port.

Λίστα workers

"workers": [{"queue": "mail"}, {"queue": "images"}] γίνεται δύο μπλοκ [[workers]].

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

Γιατί δεν επιτρέπεται το null;

Το TOML δεν έχει τιμή null. Παραλείψτε το κλειδί ή χρησιμοποιήστε μια τιμή όπως μια κενή συμβολοσειρά, ανάλογα με το τι αναμένει το πρόγραμμα που διαβάζει τα δεδομένα.

Γιατί ένας πίνακας με αριθμούς και συμβολοσειρές εμφανίζει σημείωση;

Οι πίνακες με μικτούς τύπους επιτρέπονται από το TOML 1.0, αλλά εργαλεία που υλοποιούν TOML 0.5 τους απορρίπτουν. Η σημείωση βοηθά αν το εργαλείο προορισμού σας είναι παλαιότερο.

Θα παραμείνει το 1.0 float;

Όχι. Το JSON αποθηκεύει το 1.0 και το 1 ως τον ίδιο αριθμό, οπότε γίνεται ο ακέραιος 1. Γράψτε 1.5 ή επεξεργαστείτε το TOML αν το πρόγραμμα που το διαβάζει χρειάζεται float.

Απόρρητο

Η μετατροπή εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας. Το JSON και το TOML σας δεν μεταφορτώνονται ούτε αποθηκεύονται.