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

Ο μετατροπέας JSON σε YAML μετατρέπει οποιοδήποτε έγκυρο έγγραφο JSON σε μια καθαρή, ευανάγνωστη από τον άνθρωπο αναπαράσταση YAML σε πραγματικό χρόνο. Επικολλήστε ένα αντικείμενο ρύθμισης, μια απόκριση API ή ένα αρχείο Kubernetes και δείτε αμέσως το ισοδύναμο YAML — με σωστή εσοχή 2 διαστημάτων, αυτόματα εισαγωγικά για αμφίσημες συμβολοσειρές (yes/no/null/αριθμοί ως συμβολοσειρές), απόδοση ένθετων πινάκων/αντικειμένων και αντιγραφή με ένα κλικ. Η επικύρωση είναι ενσωματωμένη: το μη έγκυρο JSON δείχνει την ακριβή θέση του σφάλματος ώστε να μπορείτε να το διορθώσετε και να το μετατρέψετε ξανά. Τα πάντα εκτελούνται στον περιηγητή σας, επομένως τα ευαίσθητα δεδομένα (κλειδιά API, μυστικά, JWT) δεν φεύγουν ποτέ από τη συσκευή σας. Χρησιμοποιήστε το για ροές εργασίας DevOps, προδιαγραφές OpenAPI/Swagger, GitHub Actions, ρόλους Ansible, τιμές Helm ή οπουδήποτε το YAML προτιμάται έναντι του JSON.

star 4.9
auto_awesome AI
New

JSON σε YAML calculator

info Paste JSON to convert to YAML
0 lines 0 B 0 keys depth 0

lightbulb Tips

  • YAML uses 2-space indent — tabs are forbidden
  • Quote strings like "yes", "no", "null" to keep them as text
  • Quote ZIP codes ("01234") so leading zeros survive
  • YAML supports # comments — JSON does not
  • Round-trip JSON → YAML → JSON is lossless

Πώς να μετατρέψετε JSON σε YAML σε 3 βήματα: Επικόλληση, Μορφοποίηση, Αντιγραφή

content_paste

Επικόλληση JSON

Επικολλήστε οποιοδήποτε έγκυο JSON — αντικείμενο, πίνακα, απάντηση API ή πλήρη δήλωση Kubernetes. Ο μετατροπέας επικυρώνει καθώς πληκτρολογείτε.

swap_horiz

Μετατροπή

Το YAML εμφανίζεται αμέσως με εσοχή 2 κενών, εισαγωγικά ασφαλή για τύπους και σωστή εμφώλευση ακολουθίας/χάρτη. Επιλέξτε εσοχή 4 κενών εάν το έργο σας το απαιτεί.

content_copy

Αντιγραφή ή λήψη

Κάντε κλικ στην Αντιγραφή για το πρόχειρο ή Λήψη για αποθήκευση ως αρχείο `.yaml` έτοιμο να το τοποθετήσετε στο αποθετήριό σας, kubectl apply ή docker compose up.

fact_check

Επικύρωση

Το μη έγκυρο JSON εμφανίζει το σφάλμα ανάλυσης με τη γραμμή και τη στήλη. Διορθώστε το πρόβλημα και η έξοδος YAML ανανεώνεται αυτόματα.

The Formula

Η μετατροπή JSON σε YAML αναλύει το κείμενο JSON σε μια δομή στη μνήμη (αντικείμενα → χάρτες, πίνακες → ακολουθίες, πρωτογενείς τύποι διατηρούνται ως έχουν), στη συνέχεια περιηγείται σε αυτό το δέντρο εκπέμποντας σύνταξη YAML επίπεδο προς επίπεδο. Η εσοχή αντικατοπτρίζει το βάθος ένθεσης. Οι συμβολοσειρές περικλείονται σε εισαγωγικά μόνο όταν χρειάζονται — όταν περιέχουν ειδικούς χαρακτήρες (`:` `#` `-` `&` `*` `!` `|` `>` `'` `"` `%` `@`), μοιάζουν με άλλον τύπο (`yes`, `no`, `null`, `~`, `on`, `off`, αποκλειστικά αριθμητικοί) ή είναι κενές. Οι πίνακες χρησιμοποιούν το πρόθεμα `- `· οι ένθετοι πίνακες/αντικείμενα αυξάνουν την εσοχή. Το αποτέλεσμα υποστηρίζει αμφίδρομη μετατροπή: η εκ νέου ανάλυσή του με έναν αναλυτή YAML αποδίδει την ίδια δομή δεδομένων με το αρχικό JSON.

JSON.parse(input) → emit YAML(parsed, indent, quoting)

lightbulb Variables Explained

  • input Ακατέργαστη συμβολοσειρά JSON (αντικείμενο, πίνακας ή βαθμίδα)
  • JSON.parse() Αναλύει και επικυρώνει το JSON σύμφωνα με το RFC 8259 / ECMA-404
  • emit YAML() Περιηγείται στο αναλυμένο δέντρο και εκπέμπει YAML 1.2.2 με εσοχές
  • indent Αριθμός διαστημάτων ανά επίπεδο (το 2 είναι πρότυπο· το 4 χρησιμοποιείται περιστασιακά)
  • quoting Οι συμβολοσειρές που μοιάζουν με booleans, null ή αριθμούς περικλείονται σε εισαγωγικά για την αποφυγή εξαναγκασμού τύπου YAML

tips_and_updates Pro Tips

1

Χρησιμοποιήστε εσοχή 2 διαστημάτων σε YAML — οι στηλοθέτες (tabs) δεν επιτρέπονται και προκαλούν σιωπηλές αποτυχίες ανάλυσης

2

Βάλτε σε εισαγωγικά τις συμβολοσειρές που μοιάζουν με Boolean (yes/no/on/off/true/false) ή null για να αποτρέψετε την ανεπιθύμητη μετατροπή τύπων

3

Οι κενές τιμές γίνονται null σε YAML — γράψτε `null` ή `~` ρητά για σαφήνεια στις ρυθμίσεις που ελέγχονται από ανθρώπους

4

Συμβολοσειρές πολλών γραμμών: χρησιμοποιήστε `|` για μπλοκ κυριολεκτικού κειμένου (διατηρεί τις αλλαγές γραμμής), `>` για διπλωμένες παραγράφους (ενώνει με κενά)

5

Τα σχόλια ξεκινούν με `#` — το JSON δεν έχει εγγενή υποστήριξη σχολίων, οπότε η μετατροπή πίσω σε JSON τα διαγράφει

6

Για τα αρχεία Kubernetes, το YAML είναι η καθιερωμένη σύμβαση — ευκολότερο στην ανασκόπηση σε PR και στην τεκμηρίωση εντός κειμένου

7

Ασφάλεια αμφίδρομης μετατροπής: JSON → YAML → JSON πρέπει να διατηρεί τα δεδομένα· δοκιμάστε με μη τετριμμένες εισόδους προτού βασιστείτε σε αυτό

8

Οι άγκυρες (&) και τα ψευδώνυμα (*) σάς επιτρέπονται να επαναχρησιμοποιείτε μπλοκ YAML, αλλά δεν επιβιώνουν σε μια αμφίδρομη μετατροπή μέσω JSON

9

Οι αριθμητικές συμβολοσειρές όπως ταχυδρομικοί κώδικες ("01234") χρειάζονται εισαγωγικά σε YAML — διαφορετικά γίνονται ακέραιοι και χάνουν τα αρχικά μηδενικά

10

Επικυρώστε το YAML με `yamllint`, `kubectl --dry-run=client` ή `docker compose config` πριν από την ανάπτυξη

Μετατρέψτε οποιοδήποτε έγκυρο έγγραφο JSON σε καθαρό YAML 1.2.2 αμέσως — επικόλληση, μετατροπή, αντιγραφή. Ο μετατροπέας διαχειρίζεται βαθιά ένθεση, διατηρεί τύπους, βάζει αυτόματα εισαγωγικά σε αμφίσημες συμβολοσειρές (yes/no/null/numeric IDs) και εκπέμπει εσοχή 2 διαστημάτων σύμφωνα με τις συμβάσεις των Kubernetes, Docker Compose και Ansible. Τα πάντα εκτελούνται στον browser σας, οπότε τα κλειδιά API, τα μυστικά και τα payloads JWT δεν φεύγουν ποτέ από τη συσκευή σας. Παρακάτω: πώς λειτουργεί η μετατροπή στο παρασκήνιο, οι διαφορές JSON έναντι YAML που έχουν σημασία για το DevOps, μοτίβα μετατροπής για manifest Kubernetes / Docker Compose / τιμές Helm / προδιαγραφές OpenAPI, συνήθεις παγίδες YAML και ένα cheat sheet για ασφαλή αμφίδρομη μετατροπή.

Online Μετατροπέας JSON σε YAML: Μετατρέψτε Οποιοδήποτε JSON σε YAML Στιγμιαία

Επικολλήστε έγκυρο JSON — ένα αντικείμενο, πίνακα, βαθμίδα, απόκριση API ή πλήρες manifest Kubernetes — και ο μετατροπέας εκπέμπει το αντίστοιχο YAML σε πραγματικό χρόνο.

Η μετατροπή εκτελείται εξ ολοκλήρου στον browser σας χρησιμοποιώντας τη εγγενή συνάρτηση JSON.parse για επικύρωση εισόδου (σύμφωνα με τα ECMA-404 / RFC 8259), στη συνέχεια περιηγείται στο αναλυμένο δέντρο εκπέμποντας σύνταξη YAML 1.2.2.

Η εσοχή 2 διαστημάτων είναι η προεπιλογή — το de-facto πρότυπο σε Kubernetes, Ansible, GitHub Actions και Docker Compose. Μεταβείτε σε εσοχή 4 διαστημάτων εάν η βάση κώδικά σας το απαιτεί.

Το αποτέλεσμα είναι έτοιμο για επικόλληση σε αρχείο `.yaml` ή αποστολή σε `kubectl apply -f -`. Το δεξιό παράθυρο εμφανίζει ζωντανές μετρήσεις byte και γραμμών ώστε να μπορείτε να ελέγξετε γρήγορα το μέγεθος πριν κάνετε commit.

Πώς να Μετατρέψετε JSON σε YAML: Μια Ροή Εργασίας 3 Βημάτων για Προγραμματιστές

Μετατροπή σε τρία βήματα:

  • Βήμα 1: Επικολλήστε το JSON σας στον επεξεργαστή. Ο μετατροπέας επικυρώνει καθώς πληκτρολογείτε — το μη έγκυρο JSON εμφανίζει το ακριβές σφάλμα ανάλυσης με γραμμή και στήλη.
  • Βήμα 2: Η έξοδος YAML εμφανίζεται ζωντανά στο δεξιό παράθυρο. Δεν απαιτείται κλικ σε κουμπί· κάθε πάτημα πλήκτρου επανασχεδιάζει.
  • Βήμα 3: Κάντε κλικ στην Αντιγραφή (πρόχειρο) ή Λήψη (αρχείο `.yaml`).

Για προγραμματιστικές ροές εργασίας, η ίδια λογική εκτίθεται μέσω του τελικού σημείου `/api/calculate` — στείλτε POST JSON σε αυτό και λάβετε το YAML στο σώμα της απόκρισης.

Ασφάλεια αμφίδρομης μετατροπής: μετατρέψτε το YAML πίσω σε JSON με τον αδελφό Μετατροπέα YAML σε JSON· το μοντέλο δεδομένων διατηρείται ακριβώς (τα σχόλια και οι άγκυρες είναι αποκλειστικά YAML και δεν επιβιώνουν στην αμφίδρομη μετατροπή).

JSON έναντι YAML: Βασικές Διαφορές σε Σύνταξη, Απόδοση και Περιπτώσεις Χρήσης

Τα JSON και YAML αντιπροσωπεύουν το ίδιο μοντέλο δεδομένων — χάρτες (αντικείμενα), ακολουθίες (πίνακες) και βαθμίδες (συμβολοσειρά/αριθμός/bool/null) — αλλά με πολύ διαφορετική σύνταξη επιφανείας.

Το JSON έχει βαριά χρήση αγκíστρων και εισαγωγικών: κάθε κλειδί παίρνει `"`, κάθε χάρτης παίρνει `{}`, κάθε πίνακας παίρνει `[]` και κάθε διαχωριστικό είναι ρητό (`:` και `,`). Το YAML βασίζεται στις εσοχές: η ένθεση υπονοείται από την εσοχή 2 διαστημάτων, οι ακολουθίες χρησιμοποιούν το πρόθεμα `- ` και οι περισσότερες συμβολοσειρές δεν χρειάζονται εισαγωγικά.

Το JSON αναλύεται 5–10× γρηγορότερα σε όλα τα κύρια περιβάλλοντα εκτέλεσης γλωσσών, δεν έχει καμία αμφισημία και είναι η σωστή επιλογή για API, ουρές μηνυμάτων, ροές καταγραφής και μορφές αποθήκευσης.

Το YAML υποστηρίζει σχόλια (`#`), άγκυρες και ψευδώνυμα για επαναχρησιμοποίηση (`&name` / `*name`), ροές πολλαπλών εγγράφων (`---`) και ρητές ετικέτες τύπου (`!!str`, `!!int`) — δυνάμεις που το καθιστούν τη σωστή επιλογή για ρυθμίσεις υπό έλεγχο πηγής, αγωγούς CI/CD, υποδομή ως κώδικα και manifest Kubernetes.

Επιλέξτε JSON για μηχανές, YAML για ανθρώπους και μετατρέψτε μεταξύ τους στα όρια.

Μετατροπή Ένθετων Αντικειμένων JSON σε YAML: Πίνακες, Χάρτες και Βαθia Δέντρα

Η βαθιά ένθεση είναι το σημείο όπου η μετατροπή JSON σε YAML αποδεικνύει την αξία της — η παρακολούθηση αγκίστρων και εσοχών με το χέρι σε 5+ επίπεδα είναι επιρρεπής σε σφάλματα.

Ο μετατροπέας περιηγείται στο αναλυμένο δέντρο JSON αναδρομικά:

  • Για κάθε χάρτη (αντικείμενο), τα κλειδιά εκπέμπονται με τη σειρά προέλευσης με σύνταξη `key: value`· οι ένθετες τιμές έχουν εσοχή κατά 2 επιπλέον διαστήματα.
  • Για κάθε ακολουθία (πίνακα), τα στοιχεία χρησιμοποιούν το πρόθεμα `- `· τα ένθετα αντικείμενα κάτω από ένα `-` ξεκινούν στην ίδια γραμμή με την παύλα και κληρονομούν το επόμενο επίπεδο εσοχής.

Μικτές δομές — πίνακες αντικειμένων, αντικείμενα που περιέχουν πίνακες αντικειμένων, αναδρομικά — αποδίδονται όλες σωστά. Το μέγιστο βάθος περιορίζεται μόνο από τη στοίβα κλήσεων του browser σας (~10.000+ πλαίσια στους σύγχρονους browsers, πολύ πέρα από οποιαδήποτε ρεαλιστική ρύθμιση).

Δοκιμάστε με τα δικά σας δεδομένα: αναλύστε την έξοδο YAML πίσω σε JSON και βεβαιωθείτε για τη δομική ισότητα με την είσοδο.

JSON σε YAML Kubernetes: ConfigMaps, Manifests και Τιμές Helm

Τα manifest Kubernetes είναι η πιο κοινή περίπτωση χρήσης για αυτόν τον μετατροπέα. Πολλά εργαλεία (kubectl, Lens, k9s, Helm) εκπέμπουν JSON μέσω σημαιών `-o json`· η κανονική μορφή πηγής αλήθειας που γίνεται commit στο Git είναι το YAML.

Επικολλήστε την έξοδο JSON του `kubectl get deployment -o json` και ο μετατροπέας παράγει ένα καθαρό manifest έτοιμο για commit. Οι ιεραρχίες apiVersion, kind, metadata και spec διατηρούν την ακριβή σειρά πεδίων.

Για τιμές γραφημάτων Helm, επικολλήστε τις τιμές JSON σας και τοποθετήστε το YAML στο `values.yaml` — τα πρότυπα Helm το λαμβάνουν αμετάβλητο. Για επικαλύψεις Kustomize, μετατρέψτε το αντικείμενο patch σας και προσθέστε το στη λίστα `patchesStrategicMerge`.

Επικυρώστε την έξοδο με `kubectl apply --dry-run=client -f file.yaml` πριν κάνετε commit — εντοπίζει ζητήματα σε επίπεδο σχήματος που η επικύρωση σύνταξης YAML από μόνη της θα έχανε.

JSON σε Docker Compose YAML: Ορισμοί υπηρεσιών και διαμορφώσεις πολλαπλών container

Τα αρχεία Docker Compose είναι καθαρό YAML που συμμορφώνεται με την προδιαγραφή Compose (compose-spec.io). Όταν έχετε προγραμματική έξοδο JSON — από μια γεννήτρια ρυθμίσεων, μια προηγούμενη εξαγωγή Compose v2 ή ένα σενάριο προτύπου — μετατρέψτε την εδώ και επικολλήστε την στο `docker-compose.yaml`.

Τα κλειδιά ανώτατου επιπέδου (`services`, `networks`, `volumes`, `configs`, `secrets`) και οι ένθετες προδιαγραφές τους (image, ports, environment, depends_on, healthcheck) μετατρέπονται σωστά.

Προσέξτε τις θύρες: οι σύντομες συμβολοσειρές όπως `"8080:80"` πρέπει να παραμένουν σε εισαγωγικά στο YAML για να αποτραπεί η ανάλυσή τους ως εξηκονταδικός αριθμός — ο μετατροπέας το χειρίζεται αυτόματα.

Επικυρώστε με `docker compose config` πριν από το `docker compose up`. Αναλύει, συγχωνεύει πολλαπλά αρχεία και εκτυπώνει την τελική διαμορφωμένη ρύθμιση ακριβώς όπως θα την εκτελέσει ο engine.

Κανόνες σύνταξης YAML: Εσοχές, Anchors, συμβολοσειρές πολλαπλών γραμμών και μετατροπή τύπων

Οι κανόνες εσοχών του YAML είναι αυστηροί: 2 διαστήματα ανά επίπεδο (το 4 είναι επίσης έγκυρο αλλά σπάνιο), τα tabs απαγορεύονται και τα αδελφά κλειδιά πρέπει να ευθυγραμμίζονται ακριβώς. Οι ακολουθίες (`- item`) και οι αντιστοιχίσεις (`key: value`) μπορούν να ενσωματωθούν ελεύθερα.

Οι συμβολοσειρές πολλαπλών γραμμών διατίθενται σε δύο τύπους: τα κυριολεκτικά μπλοκ (`|`) διατηρούν κάθε αλλαγή γραμμής· τα διπλωμένα μπλοκ (`>`) συνδέουν γραμμές με διαστήματα (σε στιλ παραγράφου).

Τα Anchors (`&name`) και τα aliases (`*name`) σάς επιτρέπουν να ορίσετε έναν κόμβο YAML μία φορά και να τον επαναχρησιμοποιήσετε αλλού — κοινό στα αρχεία Compose για κοινόχρηστα πρότυπα υπηρεσιών.

Οι ετικέτες ρητού τύπου (`!!str`, `!!int`, `!!bool`, `!!null`) παρακάμπτουν την αυτόματη πληκτρολόγηση του YAML όταν χρειάζεστε μια συμβολοσειρά που μοιάζει με αριθμό, ή το αντίστροφο.

Ο μετατροπέας βάζει αυτόματα εισαγωγικά σε αμφίσημες συμβολοσειρές: `"yes"`, `"no"`, `"null"`, `"~"`, τιμές που μοιάζουν με αριθμούς όπως `"01234"` και οποιαδήποτε συμβολοσειρά περιέχει ειδικούς χαρακτήρες YAML (`:`, `#`, `-`, `&`, `*`, `!`, `|`, `>`, `'`, `"`, `%`, `@`).

Επικύρωση σύνταξης YAML: Συνήθη σφάλματα, Tab έναντι Space και παγίδες τύπων

Έξι σφάλματα αντιπροσωπεύουν το 95% των χαλασμένων αρχείων YAML στη φύση.

  • (1) Tabs οπουδήποτε — ακόμη και ένας χαρακτήρας tab χαλάει την ανάλυση. Διαμορφώστε το πρόγραμμα επεξεργασίας σας ώστε να εισάγει διαστήματα.
  • (2) Ασυνεπείς εσοχές — ένα αδελφό κλειδί εκτός θέσης κατά μία στήλη αποτελεί σφάλμα ανάλυσης.
  • (3) Λείπει διάστημα μετά το `:` — το `key:value` δεν είναι έγκυρο· το `key: value` είναι σωστό.
  • (4) Συμβολοσειρές χωρίς εισαγωγικά που μοιάζουν με boolean (`yes`, `no`, `on`, `off`) — μετατρέπονται σε true/false στο YAML 1.1 (παλαιότεροι αναλυτές). Το YAML 1.2 περιόρισε τα boolean μόνο σε `true`/`false`, αλλά η αμυντική χρήση εισαγωγικών εξακολουθεί να είναι σοφή.
  • (5) Αριθμητικές συμβολοσειρές χωρίς εισαγωγικά — το `01234` γίνεται ακέραιος 1234, χάνοντας το αρχικό μηδενικό.
  • (6) Λείπει διάστημα μετά το `-` — το `-item` είναι συμβολοσειρά που ξεκινά με παύλα· το `- item` είναι καταχώριση ακολουθίας.

Επικυρώστε με το `yamllint`, την επέκταση YAML στο VS Code ή ειδικούς επικυρωτές τομέα (`kubectl --dry-run`, `docker compose config`, `ansible-playbook --syntax-check`).

Μετατροπέας JSON σε YAML για APIs: Σώματα αποκρίσεων, OpenAPI και Swagger

Οι ροές εργασίας API επωφελούνται από τη μετατροπή JSON σε YAML σε δύο σημεία.

Πρώτον, οι προδιαγραφές OpenAPI 3.x συντάσσονται συνήθως σε YAML (πιο ευανάγνωστο για δέντρα διαδρομών/παραμέτρων) αλλά εξάγονται ως JSON για εργαλεία — μετατρέψτε προς οποιαδήποτε κατεύθυνση απαιτεί η ροή επεξεργασίας σας. Ο μετατροπέας διατηρεί τα απαιτούμενα πεδία, τους ορισμούς σχημάτων, τους δείκτες $ref και τα σώματα παραδειγμάτων.

Δεύτερον, όταν τεκμηριώνετε ένα API, επικολλήστε ένα δείγμα απόκρισης JSON και παρουσιάστε την έκδοση YAML στα έγγραφά σας — είναι πιο εύκολο για τους αναγνώστες να σαρώσουν σε βάθος ένθετα σώματα αποκρίσεων.

Για ενοποίηση με το Swagger UI, γίνονται αποδεκτά τόσο το `swagger.yaml` όσο και το `swagger.json`· πολλές ομάδες διατηρούν το YAML στον έλεγχο πηγαίου κώδικα και εκπέμπουν JSON κατά τον χρόνο κατασκευής. Η ασφάλεια της αμφίδρομης μετατροπής ισχύει για τις προδιαγραφές OpenAPI, επειδή δεν χρησιμοποιούν σχόλια ή anchors στην κανονική τους μορφή.

JSON σε YAML για DevOps: Ansible Playbooks, GitHub Actions και CI/CD

Σχεδόν κάθε σύγχρονη πλατφόρμα CI/CD χρησιμοποιεί YAML για ορισμούς αγωγών:

  • GitHub Actions (`.github/workflows/*.yaml`)
  • GitLab CI (`.gitlab-ci.yml`)
  • CircleCI (`.circleci/config.yml`)
  • Travis (`.travis.yml`)
  • Drone
  • Concourse
  • Argo Workflows
  • Tekton

Όταν έχετε μια διαμόρφωση JSON — από μια γεννήτρια, μια προηγούμενη εξαγωγή ελέγχου έκδοσης ή έναν προγραμματικό κατασκευαστή — επικολλήστε την εδώ και παράγετε YAML.

Τα playbooks του Ansible ειδικά βασίζονται σε μεγάλο βαθμό στη δομή λίστας εργασιών του YAML με anchors για επαναχρησιμοποιούμενα μπλοκ· ο μετατροπέας εξάγει καθαρά τις ακολουθίες, ώστε να μπορείτε να κάνετε επικόλληση κάτω από το `tasks:` χωρίς περαιτέρω επεξεργασία.

Για τα GitHub Actions, το πιο δύσκολο μέρος είναι οι συνθήκες `if:` και οι στρατηγικές matrix — διατηρήστε το μετατρεψιμό YAML και, στη συνέχεια, προσθέστε σχόλια που εξηγούν την πρόθεση (ένα χαρακτηριστικό αποκλειστικά για YAML που θα χάσετε αν επιστρέψετε στο JSON).

Οριακές περιπτώσεις μετατροπής JSON σε YAML: Σχόλια, Boolean και τιμές Null

Πέντε οριακές περιπτώσεις χαλάνε τους απλοϊκούς μετατροπείς.

  • (1) Σχόλια: Το JSON δεν διαθέτει κανένα, το YAML υποστηρίζει `#`. Η αμφίδρομη μετατροπή JSON → YAML → JSON δεν έχει απώλειες, αλλά η μετατροπή YAML → JSON → YAML απορρίπτει κάθε σχόλιο. Διατηρήστε το YAML ως την πηγή αλήθειας σας όταν τα σχόλια έχουν σημασία.
  • (2) Μετατροπή Boolean: οι παλαιότεροι αναλυτές YAML 1.1 αντιμετωπίζουν τα `yes`/`no`/`on`/`off` ως boolean. Οι σύγχρονοι αναλυτές (1.2.2) αντιμετωπίζουν μόνο τα `true`/`false` με αυτόν τον τρόπο, αλλά η χρήση αμυντικών εισαγωγικών αποτρέπει τις εκπλήξεις.
  • (3) Null: Το JSON `null` αντιστοιχίζεται στο YAML `null`, `~` ή σε κενή τιμή. Ο μετατροπέας εκπέμπει `null` για λόγους σαφήνειας· ορισμένα εργαλεία προτιμούν κενό (`key:`), αλλά μπορεί να είναι αμφίσημο με κενές συμβολοσειρές.
  • (4) Αριθμητικές συμβολοσειρές: Το `"01234"` (ένας ταχυδρομικός κώδικας ΗΠΑ) χάνει το αρχικό μηδενικό εάν είναι χωρίς εισαγωγικά στο YAML — ο μετατροπέας προσθέτει εισαγωγικά.
  • (5) Κινητές υποδιαιρέσεις με τελικά μηδενικά: Το `1.50` επιστρέφει ως `1.5` επειδή τόσο το JSON όσο και το YAML χρησιμοποιούν κανονική αριθμητική αναπαράσταση. Εάν τα τελικά μηδενικά έχουν σημασία (νόμισμα, συμβολοσειρές εκδόσεων), οριστικοποιήστε τα ως συμβολοσειρές.

Cheat Sheet JSON σε YAML: Αντιστοίχιση τύπων, επιλογές στυλ και συμβουλές αμφίδρομης μετατροπής

Αντιστοίχιση τύπων με μια ματιά:

  • Αντικείμενο JSON → Αντιστοίχιση YAML (στυλ μπλοκ)
  • Πίνακας JSON → Ακολουθία YAML (`-` στοιχεία)
  • Συμβολοσειρά JSON → Συμβολοσειρά YAML (αυτόματα εντός εισαγωγικών όταν είναι αμφίσημη)
  • Αριθμός JSON → Scalar YAML με την ίδια αριθμητική τιμή
  • JSON true/false → YAML true/false
  • JSON null → YAML null

Επιλογές στυλ:

  • προτιμήστε το στυλ μπλοκ (πολλαπλών γραμμών, με εσοχές) για αναγνωσιμότητα έναντι του στυλ ροής (`{key: value, ...}` συμπαγές σε στιλ JSON)
  • χρησιμοποιείτε πάντα εσοχές 2 διαστημάτων
  • εκπέμπετε κλειδιά με τη σειρά της πηγής (ταιριάζει με τη συμπεριφορά του JSON)

Συμβουλές αμφίδρομης μετατροπής:

  • (1) Το JSON → YAML → JSON είναι χωρίς απώλειες.
  • (2) Το YAML → JSON απορρίπτει σχόλια, anchors (αναπτυγμένα), ρητές ετικέτες, ροές πολλαπλών εγγράφων.
  • (3) Να βάζετε πάντα εισαγωγικά σε συμβολοσειρές που μοιάζουν με boolean, null ή αριθμούς.
  • (4) Δοκιμάστε την έξοδό σας με το πραγματικό εργαλείο που την καταναλώνει (kubectl, docker compose, ansible-playbook) — αυτά έχουν αυστηρότερη επικύρωση από τους γενικούς αναλυτές YAML.
  • (5) Διατηρήστε και τις δύο εκδόσεις στον έλεγχο πηγαίου κώδικα εάν η ομάδα σας χρησιμοποιεί και τις δύο μορφές· αντιμετωπίστε τη μία ως κανονική (συνήθως YAML για ρυθμίσεις, JSON για APIs) και δημιουργήστε ξανά την άλλη κατά την κατασκευή.
code

Embed this Μετατροπέας JSON σε YAML on your site

Free for any site. Copy the snippet below and paste into your HTML — no attribution required beyond the built-in credit link.

<iframe src="https://calculators.im/embed/json-to-yaml-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Μετατροπέας JSON σε YAML by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/json-to-yaml-converter?utm_source=embed&utm_medium=snippet&utm_campaign=json-to-yaml-converter">Μετατροπέας JSON σε YAML</a> by Calculators.im</p>
open_in_new Preview embed Auto-resizing iframe. Mobile responsive. Works with WordPress, Ghost, Webflow, and plain HTML.

Frequently Asked Questions

sell

Tags