Μετατροπή JSON σε YAML
Μετατρέψτε το JSON σε YAML που διαβάζεται, ελέγχεται και σχολιάζεται εύκολα. Ανεβάστε αρχεία .json και λάβετε .yaml με σωστή εσοχή, τα ίδια κλειδιά, τιμές και σειρά, έτοιμο να μπει σε ένα αποθετήριο.
Μετατροπέας δεδομένων
ή σύρετε Αρχεία CSV, TSV, TXT … εδώ ·
Έως 95 MB ανά αρχείο· Έως 20 αρχεία· Διαγραφή μετά από 30 λεπτά
Τα αρχεία επεξεργάζονται στους διακομιστές μας και διαγράφονται μετά από 30 λεπτά.
Χαρακτήρας που χωρίζει τις στήλες σε αρχεία CSV και κειμένου, τόσο για ανάγνωση όσο και για εγγραφή. Η αυτόματη επιλογή τον εντοπίζει από την είσοδο και γράφει κόμματα.
Το UTF-8 λειτουργεί για κάθε γλώσσα. Επιλέξτε UTF-8 με BOM αν το Excel στα Windows εμφανίζει παραμορφωμένους τόνους ή ασιατικούς χαρακτήρες κατά το άνοιγμα του CSV.
Είσοδος Excel, ODS και Numbers: μετατροπή μόνο του πρώτου φύλλου ή όλων των φύλλων (ένα CSV ανά φύλλο μέσα σε ZIP ή ένα κλειδί JSON ανά φύλλο).
Όνομα της καρτέλας φύλλου στο νέο υπολογιστικό φύλλο, έως 31 χαρακτήρες.
Ο πίνακας αντικειμένων χρησιμοποιεί τα ονόματα στηλών ως κλειδιά σε κάθε γραμμή· ο πίνακας πινάκων είναι πιο συμπαγής και κρατά την κεφαλίδα ως πρώτο πίνακα.
Όνομα του εξωτερικού στοιχείου που περιέχει όλες τις γραμμές· κάθε γραμμή γίνεται ένα <row> μέσα σε αυτό.
Χρησιμοποιείται στις εντολές CREATE TABLE και INSERT. Μόνο γράμματα, ψηφία και κάτω παύλες.
Τα εισαγωγικά και οι τύποι στηλών διαφέρουν ελαφρά ανάμεσα στις βάσεις δεδομένων· επιλέξτε εκείνη στην οποία θα κάνετε εισαγωγή.
Αναδιατύπωση των κελιών ημερομηνίας σε μία μορφή. Το ISO (2026-10-18) είναι το ασφαλέστερο για βάσεις δεδομένων και κώδικα· η διατήρηση τα αφήνει όπως εμφανίζονται στην πηγή.
Πώς να χρησιμοποιήσετε αυτό το εργαλείο
- 1
Προσθέστε τα αρχεία JSON
Ανεβάστε απαντήσεις API, εξαγόμενες ρυθμίσεις ή παραγόμενα manifests ως .json, έως 20 αρχεία και 95 MB το καθένα. Κάθε αρχείο πρέπει να περιέχει μία έγκυρη τιμή JSON.
- 2
Αφήστε τις προεπιλογές
Το YAML είναι ήδη επιλεγμένο στο Μετατροπή σε. Για ένα αρχείο ρυθμίσεων δεν χρειάζεται να αλλάξετε τίποτα άλλο· η έξοδος χρησιμοποιεί εσοχή δύο κενών.
- 3
Μετατρέψτε και κάντε commit
Πατήστε Μετατροπή σε YAML, κατεβάστε τα αρχεία .yaml, προσθέστε σχόλια εκεί που θα τα χρειαστεί ο επόμενος αναγνώστης και κάντε commit.
Πώς μετατρέπω JSON σε YAML;
Ανεβάστε το αρχείο .json και πατήστε Μετατροπή σε YAML. Τα αντικείμενα γίνονται μπλοκ key: value με εσοχές, οι πίνακες γίνονται λίστες με παύλες και οι συμβολοσειρές που το YAML θα μπορούσε να διαβάσει λάθος διατηρούν τα εισαγωγικά τους.
Γιατί να μετατρέψετε JSON σε YAML για αρχεία ρυθμίσεων
Το περισσότερο JSON παράγεται από λογισμικό: απάντηση API, εξαγωγή ρυθμίσεων, έξοδος γεννήτριας. Το περισσότερο YAML το συντηρούν άνθρωποι. Η μετατροπή συνήθως σηματοδοτεί τη στιγμή που τα δεδομένα παύουν να είναι έξοδος μηχανής και γίνονται κάτι που ανήκει σε μια ομάδα, όπως ένα deployment manifest στο Git, ένα CI pipeline ή ένα σύνολο μεταβλητών Ansible.
Μια τυπική περίπτωση: καλείτε ένα cloud API, παίρνετε πίσω μια περιγραφή πόρου 200 γραμμών σε JSON και θέλετε να την κρατήσετε ως infrastructure code. Η μετατροπή δίνει αρχείο χωρίς άγκιστρα και κόμματα, όπου μια αλλαγή μίας γραμμής δίνει diff μίας γραμμής και μπορείτε να εξηγήσετε παράξενες τιμές με σχόλια. Το ίδιο ισχύει για test fixtures και αρχεία μετάφρασης που επεξεργάζονται μη προγραμματιστές. Όταν χρειάζεστε αντί γι' αυτό έναν επίπεδο πίνακα, για υπολογιστικό φύλλο ή αναφορά, το JSON σε CSV ταιριάζει καλύτερα.
Εργαλεία με αρχεία ρυθμίσεων σε YAML
| Οργανισμός | Απαίτηση | Πηγή |
|---|---|---|
| GitHub Actions | Τα workflows βρίσκονται στο .github/workflows ως αρχεία .yml ή .yaml | GitHub Docs |
| GitLab CI/CD | Το pipeline ορίζεται στο .gitlab-ci.yml στη ρίζα του αποθετηρίου | GitLab Docs |
| Docker Compose | Οι υπηρεσίες περιγράφονται στο compose.yaml (παλαιότερα docker-compose.yml) | Docker Docs |
| Ansible | Τα playbooks και τα αρχεία μεταβλητών γράφονται σε YAML | Ansible Docs |
| Kubernetes | Τα manifests δέχονται JSON ή YAML· η τεκμηρίωση και τα Helm charts χρησιμοποιούν YAML | Kubernetes |
Παράδειγμα μετατροπής JSON σε YAML με δύσκολες τιμές
name: api version: "1.10" debug: false tags: - web - eu country: "NO" # σε εισαγωγικά, αλλιώς το YAML 1.1 το διαβάζει ως false
Τι σας δίνει το YAML
- Σχόλια με #
- Μικρότερα diffs στο code review
- Χωρίς άγκιστρα, κόμματα ή εισαγωγικά στις περισσότερες γραμμές
- Κείμενο πολλών γραμμών με block scalars |
Τι να προσέξετε
- Η εσοχή έχει νόημα, οπότε ένα κενό παραπάνω αλλάζει τη δομή
- Τα tab δεν επιτρέπονται για εσοχές
- Οι συμβολοσειρές χωρίς εισαγωγικά μπορεί να διαβαστούν ως αριθμοί ή λογικές τιμές
- Πιο αργοί και λιγότερο ομοιόμορφοι parsers από το JSON
Το παράδειγμα δείχνει γιατί μια απλή αντικατάσταση αγκίστρων δεν αρκεί. Η έκδοση 1.10 είναι συμβολοσειρά στο JSON· γραμμένη χωρίς εισαγωγικά στο YAML θα διαβαζόταν ως ο αριθμός 1.1. Το NO, ο κωδικός ISO της Νορβηγίας, θα διαβαζόταν ως false από parsers YAML 1.1 όπως το PyYAML. Και τα δύο κρατούν τα εισαγωγικά τους, ενώ οι πραγματικοί αριθμοί και οι λογικές τιμές μένουν χωρίς.
Σύγκριση JSON και YAML
JSON
JavaScript Object Notation
Το JSON είναι μια ελαφριά μορφή κειμένου για δομημένα δεδομένα, που διαδόθηκε από τον Douglas Crockford στις αρχές της δεκαετίας του 2000 και τυποποιήθηκε ως RFC 8259 και ECMA-404. Αναπαριστά αντικείμενα, πίνακες, συμβολοσειρές, αριθμούς, λογικές τιμές και null με απλή, ευανάγνωστη σύνταξη. Είναι η προεπιλεγμένη μορφή για web APIs, αρχεία ρυθμίσεων και ανταλλαγή δεδομένων μεταξύ εφαρμογών σε σχεδόν κάθε γλώσσα προγραμματισμού. Δεν έχει ενσωματωμένα σχόλια, ημερομηνίες ή σχήματα, και τα μεγάλα εμφωλευμένα αρχεία διαβάζονται δύσκολα χωρίς πρόγραμμα προβολής.
- Συμπίεση
- –
- Διαφάνεια
- –
- Κινούμενη εικόνα
- –
- Έτος εισαγωγής
- 2001 · Douglas Crockford
YAML
YAML
Το YAML («YAML Ain't Markup Language») είναι μια φιλική προς τον άνθρωπο μορφή δεδομένων, που κυκλοφόρησε πρώτη φορά το 2001. Χρησιμοποιεί εσοχές αντί για αγκύλες, υποστηρίζει σχόλια και είναι υπερσύνολο του JSON. Χρησιμοποιείται ευρέως για ρυθμίσεις στα Docker Compose, Kubernetes, GitHub Actions και σε πολλές εφαρμογές. Επειδή βασίζεται στα κενά, χαλάει εύκολα με ένα μόνο λάθος τοποθετημένο κενό, και ορισμένες τιμές, όπως το «no» ή οι ημερομηνίες, μπορεί να ερμηνευτούν απρόσμενα.
- Συμπίεση
- –
- Διαφάνεια
- –
- Κινούμενη εικόνα
- –
- Έτος εισαγωγής
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Μετατρέπουν JSON σε YAML όταν δεδομένα από API ή γεννήτριες πρέπει να γίνουν αρχείο ρυθμίσεων που συντηρούν άνθρωποι, ελέγχουν σε pull requests και σχολιάζουν.
Ερωτήσεις για τη μετατροπή JSON σε YAML
Είναι το JSON ήδη έγκυρο YAML;
Στο YAML 1.2 ναι: η αναθεώρηση του 2009 γράφτηκε ώστε κάθε έγγραφο JSON να είναι και έγγραφο YAML. Θα μπορούσατε να επικολλήσετε JSON σε αρχείο .yaml και τα περισσότερα εργαλεία θα το δέχονταν. Η μετατροπή αφορά την αναγνωσιμότητα: το block στυλ χωρίς άγκιστρα, εισαγωγικά και κόμματα είναι αυτό που περιμένουν όσοι κάνουν review και ο επόμενος υπεύθυνος συντήρησης.
Γιατί ορισμένες τιμές μπαίνουν σε εισαγωγικά στο YAML;
Επειδή χωρίς εισαγωγικά το YAML θα τις διάβαζε ως άλλον τύπο. Μια έκδοση όπως 1.10 θα γινόταν ο αριθμός 1.1, και τα yes ή off θα μπορούσαν να γίνουν λογικές τιμές σε παλαιότερους parsers. Οι συμβολοσειρές που μοιάζουν με αριθμούς, ημερομηνίες ή λογικές τιμές χρειάζονται εισαγωγικά για να μείνουν συμβολοσειρές, γι' αυτό μια προσεκτική μετατροπή τα διατηρεί.
Μπορώ να προσθέσω σχόλια μετά τη μετατροπή;
Ναι, και αυτός είναι συχνός λόγος μετατροπής. Γράψτε # και μετά τη σημείωσή σας στο τέλος μιας γραμμής ή σε δική της γραμμή. Το JSON δεν είχε τρόπο να εξηγήσει γιατί ορίζεται μια τιμή· το YAML έχει, κάτι που διευκολύνει τα review και τις παραδόσεις έργου.
Γιατί το YAML μου αποτυγχάνει με σφάλμα χαρακτήρα tab;
Η προδιαγραφή YAML απαγορεύει τα tab για εσοχές· μετρούν μόνο τα κενά. Ο μετατροπέας γράφει κενά, αλλά ένας επεξεργαστής ρυθμισμένος να εισάγει tab μπορεί να χαλάσει το αρχείο στην επόμενη επεξεργασία. Ρυθμίστε τον επεξεργαστή σας να χρησιμοποιεί κενά στα αρχεία .yaml.
Θα δεχτεί το Kubernetes το μετατρεπόμενο manifest;
Το kubectl διαβάζει και JSON και YAML, οπότε τα δεδομένα είναι τα ίδια· η έκδοση YAML είναι απλώς αυτή που χρησιμοποιούν οι περισσότερες τεκμηριώσεις, τα Helm charts και τα code review. Αν αργότερα χρειαστείτε ξανά JSON για jq ή κλήση API, το YAML σε JSON το αντιστρέφει.
- Μετατροπή YAML σε JSONΜετατρέψτε .yaml και .yml σε JSON για API, επικυρωτές και εργαλεία που διαβάζουν μόνο JSON. Με εσοχές, έως 20 αρχεία, διαγραφή σε 30 λεπτά.
- Μετατροπή JSON σε XMLΜετατροπή JSON σε XML online: τα κλειδιά γίνονται στοιχεία, οι πίνακες επαναλαμβανόμενα στοιχεία, μέσα σε ριζικό στοιχείο. Χωρίς λογαριασμό.
- Μετατροπή JSON σε CSVΜετατροπή JSON ή JSON Lines σε CSV: μία γραμμή ανά αντικείμενο, ένθετα πεδία σε στήλες, UTF-8 με BOM για σωστούς τόνους στο Excel. 20 αρχεία μαζί.
- Μετατροπή XML σε JSONΜετατρέψτε XML σε ευανάγνωστο JSON: τα attributes γίνονται κλειδιά @, οι επαναλαμβανόμενες ετικέτες πίνακες. Για απαντήσεις SOAP, feeds και exports.
- Μετατροπή JSON σε Base64Κωδικοποιήστε αρχείο JSON σε μία γραμμή Base64 για Kubernetes Secrets, μεταβλητές CI, API και tokens. Πλήρως αναστρέψιμο, προαιρετικό data URI.
- Μετατροπή JSON σε ExcelΜετατρέψτε JSON ή JSON Lines σε φύλλο Excel XLSX: τα κλειδιά γίνονται στήλες, κάθε εγγραφή μια γραμμή. Έως 20 αρχεία, χωρίς λογαριασμό.