Πώς να το χρησιμοποιήσετε
- Επικολλήστε YAML στο πεδίο εισαγωγής ή δοκιμάστε το παράδειγμα.
- Επιλέξτε εσοχή 2 ή 4 κενών.
- Αντιγράψτε το JSON ή κατεβάστε το ως αρχείο .json.
Πώς λειτουργεί
Το YAML αναλύεται με τη βιβλιοθήκη ανοιχτού κώδικα yaml χρησιμοποιώντας το βασικό σχήμα YAML 1.2, που είναι αυτό που αναμένουν τα σύγχρονα εργαλεία: τα yes, no, on και off παραμένουν συμβολοσειρές και μόνο τα true και false είναι λογικές τιμές. Οι άγκυρες (&name) και οι αναφορές (*name) αναπτύσσονται και τα κλειδιά συγχώνευσης << εφαρμόζονται· ο αριθμός των αναπτύξεων αναφορών είναι περιορισμένος, επομένως έγγραφα που διογκώνονται σκόπιμα απορρίπτονται αντί να παγώσει η σελίδα.
Ένα αρχείο με πολλά έγγραφα που χωρίζονται με --- γίνεται πίνακας JSON με ένα στοιχείο ανά έγγραφο. Τα σχόλια, οι άγκυρες και οι ετικέτες δεν έχουν αντίστοιχο JSON και παραλείπονται· τα κλειδιά διατηρούν τη σειρά τους. Οι χρονικές σημάνσεις παραμένουν συμβολοσειρές. Οι ακέραιοι με περισσότερα από περίπου 15 ψηφία χάνουν ακρίβεια, όπως συμβαίνει με κάθε JSON που διαχειρίζεται η JavaScript.
Αν το YAML δεν είναι έγκυρο, εμφανίζεται το πρώτο σφάλμα με τη γραμμή και τη στήλη του, για παράδειγμα ένας στηλοθέτης που χρησιμοποιείται για εσοχή ή μια αγκύλη κλεισίματος που λείπει. Για την αντίστροφη κατεύθυνση χρησιμοποιήστε το εργαλείο JSON σε YAML ή τον αμφίδρομο μετατροπέα JSON ⇄ YAML.
Παραδείγματα
Αρχείο CI με άγκυρες
Μια λίστα εργασιών που επαναχρησιμοποιεί ένα μπλοκ defaults με <<: *defaults γίνεται JSON με τις προεπιλογές αντιγραμμένες σε κάθε εργασία, ώστε να βλέπετε ακριβώς τι λαμβάνει η κάθε εργασία.
Αρχείο Kubernetes πολλαπλών εγγράφων
Ένα αρχείο με ένα Deployment και ένα Service που χωρίζονται με --- γίνεται πίνακας JSON δύο αντικειμένων, έτοιμος για kubectl ή jq.
Συχνές ερωτήσεις
Γιατί το yes παραμένει συμβολοσειρά;
Το YAML 1.2, που χρησιμοποιείται εδώ και από τα περισσότερα σύγχρονα εργαλεία, αντιμετωπίζει μόνο τα true και false ως λογικές τιμές. Παλαιότεροι αναλυτές YAML 1.1 μετέτρεπαν τα yes, no, on και off σε λογικές τιμές, γεγονός που προκαλούσε πολλά σφάλματα.
Τι συμβαίνει με τα σχόλια;
Το JSON δεν έχει σχόλια, επομένως αυτά αφαιρούνται. Τα ίδια τα δεδομένα παραμένουν αμετάβλητα.
Υπάρχει όριο μεγέθους;
Μόνο στη μνήμη του προγράμματος περιήγησής σας. Τα μεγάλα αρχεία μετατρέπονται μετά από μια μικρή παύση καθώς πληκτρολογείτε, ώστε η σελίδα να παραμένει αποκρίσιμη.
Απόρρητο
Η μετατροπή εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας. Τα YAML και JSON σας δεν μεταφορτώνονται ούτε αποθηκεύονται.