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

Ο μετατροπέας YAML σε JSON αναλύει οποιοδήποτε έγκυρο έγγραφο YAML 1.2 και αποδίδει το ισοδύναμο JSON σε πραγματικό χρόνο. Επικολλήστε ένα manifest Kubernetes, ένα αρχείο Docker Compose, ένα playbook Ansible ή μια προδιαγραφή OpenAPI και δείτε αμέσως τη μορφή JSON — διατηρώντας τους τύπους σωστά (οι αριθμοί παραμένουν αριθμοί, το true/false παραμένει boolean, το null παραμένει null) και αφαιρώντας τα σχόλια καθαρά. Η επικύρωση επισημαίνει σφάλματα εσοχής, ασάφεια τύπων και μη υποστηριζόμενη σύνταξη (anchors, ροές πολλαπλών εγγράφων) με σαφή μηνύματα. Τα πάντα εκτελούνται στον περιηγητή σας, οπότε τα ευαίσθητα δεδομένα και οι ρυθμίσεις δεν φεύγουν ποτέ από τη συσκευή σας. Χρησιμοποιήστε το για σώματα αιτημάτων API, προγραμματιστική επεξεργασία ρυθμίσεων ή οποιοδήποτε εργαλείο καταναλώνει JSON αντί για YAML.

star 4.9
auto_awesome AI
New

YAML σε JSON calculator

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

lightbulb Tips

  • YAML 1.2: only `true`/`false` are booleans (no yes/no)
  • Comments (#) are stripped — JSON has no comment syntax
  • Anchors (&name) and aliases (*name) get expanded inline
  • Multi-document streams (---) need to be split first
  • Tabs in indentation cause parse errors — use spaces only

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

content_paste

Επικολλήστε YAML

Επικολλήστε οποιοδήποτε έγγραφο YAML 1.2 — μανιφέστο Kubernetes, αρχείο Compose, playbook Ansible, προδιαγραφή OpenAPI ή προσαρμοσμένη διαμορφώση. Ο αναλυτής επικυρώνει καθώς πληκτρολογείτε.

swap_horiz

Μετατροπή

Το JSON εμφανίζεται στιγμιαία με τιμές σωστού τύπου (οι αριθμοί παραμένουν αριθμοί, τα true/false παραμένουν boolean), τα σχόλια αφαιρούνται και οι άγκυρες αναπτύσσονται εντός κειμένου. Επιλέξτε έξοδο 2 διαστημάτων, 4 διαστημάτων ή ελαχιστοποιημένης μορφής (minified).

content_copy

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

Κάντε κλικ στην Αντιγραφή για το πρόχειρο ή στη Λήψη για αποθήκευση ως αρχείο `.json` έτοιμο για σώματα αιτημάτων API, kubectl apply μέσω stdin ή προγραμματιστική επεξεργασία διαμόρφωσης.

fact_check

Επικύρωση

Η μη έγκυρη μορφή YAML εμφανίζει το σφάλμα ανάλυσης με γραμμή και στήλη. Συνήθεις διορθώσεις: αντικατάσταση στηλοθετών (tabs) με κενά, διόρθωση εσοχών, εισαγωγή εισαγωγικών σε αμφίσημες συμβολοσειρές.

The Formula

Η μετατροπή YAML σε JSON αναλύει το κείμενο YAML σε μια δομή στη μνήμη (block maps → αντικείμενα, sequences → πίνακες, scalars → τιμές με τύπο) και στη συνέχεια το επανεκδίδει ως JSON. Η εξαγωγή τύπων ακολουθεί το βασικό σχήμα του YAML 1.2: σκέτα `true`/`false` → boolean, `null`/`~` ή κενό → null, regex ακεραίου/κινητής υποδιαστολής → αριθμός, όλα τα υπόλοιπα → συμβολοσειρά (τιμές με εισαγωγικά παραμένουν πάντα συμβολοσειρές). Τα σχόλια (`#`) αφαιρούνται. Τα άγκιστρα (`&`/`*`) αναπτύσσονται εντός γραμμής. Η ασφάλεια αμφίδρομης μετατροπής διατηρείται: η ανάλυση του JSON πίσω σε YAML δίνει το ίδιο μοντέλο δεδομένων (μείον τα σχόλια και την κοινή χρήση αγκίστρων).

parse YAML(input) → JSON.stringify(parsed, null, indent)

lightbulb Variables Explained

  • input Ακατέργαστη συμβολοσειρά YAML 1.2 (maps σε στυλ block, sequences και scalars)
  • parse YAML() Μετατρέπει σε tokens ανά εσοχή, διασχίζει το δέντρο, εξάγει τύπους σύμφωνα με το βασικό σχήμα του YAML 1.2
  • JSON.stringify() Παράγει κανονικοποιημένο JSON κατά RFC 8259 με την επιλεγμένη εσοχή
  • indent Αριθμός κενών ανά επίπεδο στην έξοδο JSON (0 = συμπιεσμένο)

tips_and_updates Pro Tips

1

Οι τιμές boolean στο YAML 1.2 είναι ΜΟΝΟ true/false — τα `yes`, `no`, `on`, `off` είναι συμβολοσειρές (σε αντίθεση με το YAML 1.1 όπου ήταν boolean)

2

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

3

Οι συμβολοσειρές με εισαγωγικά στο YAML παραμένουν συμβολοσειρές στο JSON, ακόμα κι αν μοιάζουν με αριθμούς (`"01234"` παραμένει συμβολοσειρά)

4

Τα σχόλια (`#`) αφαιρούνται — το JSON δεν υποστηρίζει σχόλια. Διατηρήστε τα σχόλια στην πηγή YAML αν τα χρειάζεστε

5

Τα anchors (`&name`) και τα aliases (`*name`) αναπτύσσονται εσωτερικά — η έξοδος JSON είναι πλήρως αναλυμένη, χωρίς κοινές αναφορές

6

Οι ροές YAML πολλαπλών εγγράφων (που χωρίζονται με `---`) πρέπει να διαχωριστούν πριν από τη μετατροπή — το JSON είναι μονού εγγράφου

7

Για κατανάλωση από API, προτιμήστε το ελαχιστοποιημένο JSON (χωρίς εσοχές) για να μειώσετε το μέγεθος του payload κατά 20-60%

8

Η αμφίδρομη μετατροπή YAML → JSON → YAML χάνει τα σχόλια και τη δομή των anchors, αλλά το μοντέλο δεδομένων διατηρείται

9

Επικυρώστε την έξοδο JSON έναντι ενός JSON Schema εάν ο τελικός καταναλωτής σας είναι αυστηρός με τους τύπους πεδίων

10

Για πολύ μεγάλα αρχεία YAML (10MB+), προτιμήστε εργαλεία γραμμής εντολών όπως το `yq -o json input.yaml` αντί για μετατροπή στον περιηγητή

Μετατρέψτε οποιοδήποτε έγκυρο έγγραφο YAML 1.2 σε καθαρό JSON στιγμιαία — επικόλληση, ανάλυση, αντιγραφή. Ο μετατροπέας διαχειρίζεται βαθιά ένθετα, εξάγει τύπους σωστά σύμφωνα με το βασικό σχήμα του YAML 1.2 (μόνο τα `true`/`false` είναι booleans, χωρίς το σφάλμα της Νορβηγίας), αφαιρεί σχόλια, αναπτύσσει άγκιστρα εντός γραμμής και παράγει κανονικοποιημένο JSON κατά RFC 8259. Τα πάντα εκτελούνται στον browser σας, επομένως τα secrets του Kubernetes, τα API keys και τα payloads JWT δεν φεύγουν ποτέ από τη συσκευή σας. Παρακάτω: πώς λειτουργεί η μετατροπή στο παρασκήνιο, οι διαφορές YAML και JSON που έχουν σημασία για το DevOps, μοτίβα μετατροπής για Kubernetes / Docker Compose / Ansible / OpenAPI, κοινές παγίδες YAML (το σφάλμα της Νορβηγίας, σφάλματα στηλοθετών, ανάπτυξη αγκίστρων) και ένας οδηγός αναφοράς για ασφαλή αμφίδρομη μετατροπή.

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

Επικολλήστε έγκυρο YAML — ένα manifest Kubernetes, αρχείο Compose, playbook Ansible, προδιαγραφή OpenAPI ή οποιοδήποτε έγγραφο YAML 1.2 — και ο μετατροπέας αποδίδει το αντίστοιχό του σε JSON σε πραγματικό χρόνο.

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

Επιλέξτε το στυλ εξόδου σας:

  • 2 κενών (προεπιλογή, ευανάγνωστο από ανθρώπους)
  • 4 κενών (ορισμένες εταιρικές βάσεις κώδικα)
  • συμπιεσμένο (APIs, payloads δικτύου)

Η έξοδος είναι έτοιμη για επικόλληση σε ένα αρχείο `.json` ή αποστολή μέσω σωλήνα (pipe) στο `kubectl apply -f -` (το οποίο δέχεται JSON μέσω stdin). Το δεξιό πλαίσιο δείχνει ζωντανά μετρήσεις byte και γραμμών, ώστε να μπορείτε να ελέγξετε το μέγεθος πριν κάνετε commit.

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

Η μετατροπή YAML σε JSON απαιτεί τρία βήματα:

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

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

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

YAML έναντι JSON: Βασικές Διαφορές στη Σύνταξη, τα Σχόλια και τη Διαχείριση Τύπων

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

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

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

Μετατρέψτε στα όρια: YAML για ανθρώπους, JSON για μηχανές.

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

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

  • Για κάθε block map, τα κλειδιά εκπέμπονται με τη σειρά προέλευσης με σύνταξη JSON `"key": value`· οι ένθετες τιμές παίρνουν αγκύδες `{...}`.
  • Για κάθε block sequence, τα στοιχεία εκπέμπονται ως πίνακες JSON `[...]`· τα ένθετα αντικείμενα κάτω από ένα `-` γίνονται στοιχεία πίνακα `{...}`.

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

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

Εξαγωγή Τύπων YAML: Booleans, Αριθμοί, Null και το Πρόβλημα της Νορβηγίας

Η χαλαρή εξαγωγή τύπων του YAML είναι η πηγή πολλών σφαλμάτων σε ρυθμίσεις πραγματικού κόσμου. Το YAML 1.2 (το σύγχρονο πρότυπο, στόχος αυτού του μετατροπέα) περιόρισε τους κανόνες για μεγαλύτερη ασφάλεια.

  • Booleans: ΜΟΝΟ `true` και `false` (χωρίς διάκριση πεζών-κεφαλαίων). Το YAML 1.1 αντιμετώπιζε επίσης τα `yes`/`no`/`on`/`off` ως booleans, κάτι που διέκοπτε διάσημα ρυθμίσεις που περιείχαν τον κωδικό χώρας της Νορβηγίας `NO` (μετατράπηκε σιωπηρά σε `false`) — το «πρόβλημα της Νορβηγίας». Οι περισσότεροι σύγχρονοι parsers (js-yaml, PyYAML 6+, Snakeyaml) προεπιλέγουν τη συμπεριφορά 1.2.
  • Null: Το `null`, το `~` ή μια κενή τιμή γίνονται όλα JSON null.
  • Αριθμοί: τα πρότυπα ψηφίων που ταιριάζουν με τη σύνταξη ακεραίου/κινητής υποδιαστολής του JSON γίνονται αριθμοί JSON· όλα τα υπόλοιπα παραμένουν συμβολοσειρές.
  • Συμβολοσειρές: οι τιμές με εισαγωγικά παραμένουν πάντα συμβολοσειρές· αριθμητικές συμβολοσειρές όπως ταχυδρομικοί κώδικες (`"01234"`) και ημερομηνίες ημερολογίου χρειάζονται εισαγωγικά στο YAML για να επιβιώσουν στη μετατροπή — όταν μια ρύθμιση περιέχει μια ημερομηνία που υπολογίσατε αρχικά, τυλίξτε την σε εισαγωγικά ώστε ο parser να τη διατηρήσει αυτούσια αντί να την εξαναγκάσει.

Ο μετατροπέας σέβεται αυστηρά αυτούς τους κανόνες.

Μετατροπή αρχείων Kubernetes YAML Manifests σε JSON για το K8s API

Το Kubernetes αποδέχεται τόσο YAML όσο και JSON μέσω του API server, του kubectl και των βιβλιοθηκών πελάτη. Οι περισσότερες ομάδες διατηρούν αρχεία YAML στον έλεγχο πηγαίου κώδικα (τα PR ελέγχονται ευκολότερα), αλλά τροφοδοτούν με JSON τα προγραμματιστικά εργαλεία — προσαρμοσμένους ελεγκτές (controllers), αγωγούς GitOps, Helm post-renderers ή webhooks.

Επικολλήστε το manifest σας (Pod, Deployment, Service, ConfigMap κ.λπ.) και αντιγράφετε την έξοδο JSON. Ο μετατροπέας διατηρεί τις ιεραρχίες apiVersion, kind, metadata και spec στη σωστή σειρά πεδίων — το Kubernetes αναμένει κλειδιά camelCase παντού, οπότε αν μεταφέρετε πεδία από πηγή snake_case, ένας μετατροπέας πεζών-κεφαλαίων διορθώνει την ονομασία πριν την επικόλληση.

Επικυρώστε με `kubectl apply --dry-run=client -f -` (το οποίο αποδέχεται JSON στο stdin) πριν κάνετε commit. Για manifests πολλαπλών πόρων που χωρίζονται με `---`, χωρίστε τα πρώτα σε μεμονωμένα έγγραφα — το JSON δεν διαθέτει σύνταξη πολλαπλών εγγράφων.

Μετατροπή Docker Compose, Ansible και CI/CD YAML σε JSON

Τρεις περιπτώσεις χρήσης υψηλού όγκου πέρα από το Kubernetes:

  • Docker Compose: επικολλήστε ένα `docker-compose.yaml` και αντιγράψτε JSON για εργαλεία όπως το Kompose (μεταναστεύει Compose σε K8s), προσαρμοσμένους ορχηστρωτές ή προγραμματιστικούς μετασχηματισμούς ρυθμίσεων.
  • Ansible: μετατρέψτε τα playbooks σε JSON για εργαλεία τεκμηρίωσης, προσαρμοσμένες ενσωματώσεις CI ή APIs REST/GraphQL που αποθηκεύουν ορισμούς playbook.
  • Αγωγοί CI/CD: GitHub Actions (`.github/workflows/*.yml`), GitLab CI (`.gitlab-ci.yml`), CircleCI, Travis — μετατρέψτε οποιοδήποτε από αυτά σε JSON για αναλυτικά στοιχεία, προγραμματιστικές επεξεργασίες ή αρχειοθέτηση αρχείων καταγραφής (audit-log). Οι προγραμματισμένες ενεργοποιήσεις `cron` τους είναι καθορισμένες σε UTC, οπότε ένας μετατροπέας ζώνης ώρας σας αποτρέπει από το να διαβάσετε λανθασμένα πότε εκτελείται πραγματικά ένας αγωγός στην τοπική σας ώρα.

Σημείωση: Οι εκφράσεις Jinja2 (`{{ var }}`), η σύνταξη προτύπων Helm (`{{ .Values.x }}`) και παρόμοια πρότυπα παραμένουν ως απλές συμβολοσειρές (strings) στο JSON — δεν αξιολογούνται από τον μετατροπέα.

Μετατροπή OpenAPI / Swagger YAML σε JSON για εργαλεία API

Οι προδιαγραφές OpenAPI 3.x συνήθως συντάσσονται σε YAML (είναι πιο αναγνώσιμες για δέντρα διαδρομών/παραμέτρων) αλλά καταναλώνονται ως JSON από παλαιότερα εργαλεία — παλιότερες εκδόσεις Swagger UI, ορισμένες επιχειρησιακές πύλες API (API gateways) και ορισμένες γεννήτριες κώδικα.

Επικολλήστε το `openapi.yaml` (ή `swagger.yaml`) σας και κατεβάστε το `openapi.json`. Ο μετατροπέας διατηρεί τους δείκτες `$ref` ακριβώς (χωρίς ανάλυση), τους ορισμούς σχημάτων, τα παραδείγματα αποκρίσεων και τα σχήματα ασφαλείας.

Μετά τη μετατροπή, επικυρώστε με τον επίσημο επικυρωτή OpenAPI (Spectral CLI, openapi-cli, swagger-cli) για να επιβεβαιώσετε τη συμμόρφωση του σχήματος. Πλλές ομάδες διατηρούν YAML στον έλεγχο πηγαίου κώδικα και παράγουν JSON κατά τον χρόνο δόμησης (build time) — τόσο το `swagger.yaml` όσο και το `swagger.json` είναι πλήρως ισοδύναμα για τους καταναλωτές API.

Σφάλματα ανάλυσης YAML: Στηλοθέτες (Tabs), εσοχές και συνηθισμένες διορθώσεις

Έξι σφάλματα αντιπροσωπεύουν το 95% των αποτυχιών ανάλυσης YAML:

  • Στηλοθέτες (tabs) οπουδήποτε στις εσοχές — το YAML απαγορεύει εντελώς τα tabs, ακόμη και ένας χαρακτήρας tab διακόπτει την ανάλυση.
  • Ασυνεπείς εσοχές — τα κλειδιά αδελφών (sibling keys) πρέπει να ευθυγραμμίζονται ακριβώς στην ίδια στήλη.
  • Κενό που λείπει μετά το `:` στους χάρτες — το `key:value` δεν είναι έγκυρο· το `key: value` είναι σωστό.
  • Κενό που λείπει μετά το `-` στις ακολουθίες — το `-item` είναι μια συμβολοσειρά που ξεκινά με παύλα· το `- item` είναι μια καταχώριση ακολουθίας.
  • Ειδικοί χαρακτήρες χωρίς εισαγωγικά στην αρχή μιας τιμής — τα `@`, `` ` ``, `%`, `*`, `&` χρειάζονται εισαγωγικά.
  • Μη υποστηριζόμενα χαρακτηριστικά στον μετατροπέα: άγκυρες (`&name`), ψευδώνυμα (`*name`) και ροές πολλαπλών εγγράφων (`---`) — για αυτά, χρησιμοποιήστε μια πλήρη βιβλιοθήκη YAML όπως js-yaml, PyYAML ή `yq`.

Το μήνυμα σφάλματος δείχνει τη γραμμή και τη στήλη όπου απέτυχε η ανάλυση.

Άγκυρες YAML, ψευδώνυμα και ροές πολλαπλών εγγράφων στη μετατροπή JSON

Τρία χαρακτηριστικά YAML δεν έχουν άμεσο ισοδύναμο στο JSON και απαιτούν ειδικό χειρισμό:

  • Άγκυρες (`&name`) και ψευδώνυμα (`*name`) επιτρέπουν στο YAML να αναφέρεται σε έναν κόμβο και να τον επαναχρησιμοποιεί αλλού — συνηθισμένα σε αρχεία Compose για κοινόχρηστα πρότυπα υπηρεσιών και στο CloudFormation για κοινόχρηστες παραμέτρους. Το JSON δεν διαθέτει σύνταξη αναφοράς, οπότε ο μετατροπέας αναπτύσσει τα ψευδώνυμα εντός γραμμής (inline) (κάθε ψευδώνυμο γίνεται πλήρες αντίγραφο). Τα δεδομένα διατηρούνται αλλά το JSON είναι μεγαλύτερο και η δομή κοινόχρηστης αναφοράς χάνεται.
  • Ροές πολλαπλών εγγράφων (διαχωριστής `---`) αντιπροσωπεύουν πολλαπλές τιμές ανώτατου επιπέδου σε ένα αρχείο — συνηθισμένες για τη δέσμευση πόρων Kubernetes. Το JSON διαθέτει μόνο μεμονωμένες τιμές ρίζας ανά έγγραφο. Χωρίστε το YAML σε ξεχωριστά αρχεία πρώτα ή τυλίξτε τα έγγραφα σε έναν πίνακα JSON `[doc1, doc2, doc3]`.
  • Σχόλια (`#`) υπάρχουν μόνο στο YAML — αφαιρούνται εντελώς κατά τη μετατροπή. Διατηρήστε το YAML ως πηγή αλήθειας εάν τα σχόλια έχουν σημασία.

Ασφάλεια αμφίδρομης μετατροπής (Round-Trip): YAML → JSON → YAML και οριακές περιπτώσεις

Πέντε παράγοντες αμφίδρομης μετατροπής που πρέπει να γνωρίζει κάθε προγραμματιστής:

  • Μοντέλο δεδομένων: YAML → JSON → YAML διατηρεί τα κλειδιά, τις τιμές, τους τύπους και τη ένθετη δομή ακριβώς. Τα δεδομένα είναι ίδια στην είσοδο και στην έξοδο.
  • Σχόλια: χάνονται για πάντα — το JSON δεν έχει σύνταξη σχολίων. Διατηρήστε το YAML ως πηγή αλήθειας εάν έχετε ενσωματωμένα έγγραφα (inline docs).
  • Άγκυρες/ψευδώνυμα: αναπτύσσονται στην πορεία προς το JSON, δεν δημιουργούνται ποτέ ξανά στην επιστροφή. Το YAML εξόδου έχει διπλότυπο περιεχόμενο όπου η πηγή είχε κοινόχρηστες αναφορές.
  • Σειρά κλειδιών: το YAML διατηρεί τη σειρά προέλευσης· ο μετατροπέας τη διατηρεί έως το JSON· η επιστροφή στο YAML διατηρεί την ίδια σειρά.
  • Ετικέτες τύπου (`!!str`, `!!int`) — εκπέμπονται μόνο όταν χρειάζονται για αποσαφήνιση. Μια συμβολοσειρά `"01234"` επιβιώνει στην αμφίδρομη μετατροπή επειδή το JSON τη διατηρεί σε εισαγωγικά· ένα YAML `01234` χωρίς εισαγωγικά αναλύεται ως ακέραιος αριθμός και επιστρέφει ως ο αριθμός 1234, χάνοντας το αρχικό μηδενικό.

Βάλτε αμφίβολες τιμές σε εισαγωγικά για προληπτικούς λόγους.

Συνοπτικός οδηγός YAML σε JSON: Αντιστοίχιση τύπων, εργαλεία και βέλτιστες πρακτικές

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

  • Χάρτης YAML → Αντικείμενο JSON
  • Ακολουθία YAML → Πίνακας JSON
  • Κλιμακωτή τιμή YAML (σύμφωνα με την εξαγωγή τύπου) → Συμβολοσειρά/αριθμός/boolean/null JSON
  • Ετικέτα YAML !!str → Συμβολοσειρά JSON (εξαναγκασμένη)
  • YAML null/~/κενό → JSON null
  • YAML true/false → JSON boolean
  • Μοτίβο ακέραιου YAML → Ακέραιος JSON
  • Μοτίβο κινητής υποδιαστολής YAML → Αριθμός JSON

Σύγκριση εργαλείων:

  • αυτός ο μετατροπέας (πρόγραμμα περιήγησης, άμεσος, χωρίς εγκατάσταση, 95% πραγματικού YAML)
  • `yq -o json` (CLI, μεγάλα αρχεία, ερωτήματα JSONPath)
  • `js-yaml`/`PyYAML` (πλήρης βιβλιοθήκη, υποστηρίζονται άγκυρες και πολλαπλά έγγραφα, προγραμματιστική χρήση)

Βέλτιστες πρακτικές:

  • Να βάζετε πάντα σε εισαγωγικά τις αμφίβολες τιμές (yes/no/on/off/null/αριθμητικά αναγνωριστικά) στην πηγή YAML.
  • Χρησιμοποιήστε εσοχή 2 διαστημάτων (το de facto πρότυπο).
  • Επικυρώστε την έξοδο JSON έναντι του σχήματος του καταναλωτή σας (JSON Schema, OpenAPI, K8s OpenAPI) — τα σφάλματα τύπου εμφανίζονται εδώ.
  • Διατηρήστε το YAML ως κανονική πηγή και αναδημιουργήστε το JSON κατά τον χρόνο δόμησης όποτε είναι δυνατόν.
code

Embed this Μετατροπέας YAML σε JSON 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/yaml-to-json-converter" width="100%" height="720" style="border:0;max-width:100%;" loading="lazy" title="Μετατροπέας YAML σε JSON by Calculators.im"></iframe>
<p style="font-size:12px;text-align:center;color:#64748b;margin-top:6px;">Powered by <a href="https://calculators.im/yaml-to-json-converter?utm_source=embed&utm_medium=snippet&utm_campaign=yaml-to-json-converter">Μετατροπέας YAML σε JSON</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