Μετάβαση στο κύριο περιεχόμενο
LibraTool logoLibraTool

Μετατροπέας YAML σε JSON δωρεάν

Μετατρέψτε YAML σε JSON και JSON σε YAML και στις δύο κατευθύνσεις. Επικολλήστε σε οποιαδήποτε μορφή και λάβετε άμεσα την μετατροπή — χωρίς μεταφόρτωση σε διακομιστή.

Λειτουργεί εκτός σύνδεσης μόλις φορτωθεί
Έξοδος JSON
Η έξοδος θα εμφανιστεί εδώ…

Συνηθισμένες χρήσεις

  • Μετατροπή YAML σε JSON για δηλώσεις KubernetesΜετατροπή Kubernetes YAML σε JSON (ή αντίστροφα) για εργαλεία, σενάρια επαλήθευσης ή εφαρμογή απευθείας μέσω API.
  • Μετατροπή Docker Compose YAML / JSONΜετατροπή docker-compose.yml σε JSON για επιθεώρηση ή πίσω σε YAML μετά από προγραμματικές αλλαγές.
  • Μετατροπή ρύθμισης σωλήνα CI/CDΜετατροπή GitHub Actions, GitLab CI, CircleCI και άλλων ρυθμίσεων σωλήνα μεταξύ μορφών YAML και JSON.
  • Μετατροπή αρχείου ρυθμίσεων εφαρμογήςΜετατροπή αρχείων ρυθμίσεων εφαρμογής μεταξύ YAML και JSON — χρήσιμο κατά την εναλλαγή πλαισίων ή κοινή χρήση config σε εργαλεία.
  • Μετατροπή προδιαγραφής OpenAPI / SwaggerΜετατροπή προδιαγραφών OpenAPI 3.x ή Swagger 2.0 API μεταξύ μορφών YAML και JSON. Και οι δύο μορφές είναι έγκυρες και εναλλάξιμες.

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

Και οι δύο κατευθύνσεις μετατροπής — YAML σε JSON και JSON σε YAML — εκτελούνται εξ ολοκλήρου στον browser σας με χειρόγραφο αναλυτή και εκδότη ενσωματωμένο στη σελίδα, χωρίς βιβλιοθήκη YAML τρίτων ή διακομιστή. Η λογική βρίσκεται σε μία ενότητα TypeScript (lib/yamljson.ts) που χειρίζεται mappings, sequences, scalars, συμβολοσειρές σε εισαγωγικά και αφαίρεση inline σχολίων.

  1. 1
    Η είσοδος προεπεξεργάζεται γραμμή προς γραμμή
    Για είσοδο YAML, ο αναλυτής χωρίζει το κείμενο σε γραμμές, αφαιρεί τα inline σχόλια (παρακολουθώντας την κατάσταση εισαγωγικών ώστε να μην αφαιρεί # μέσα σε συμβολοσειρές), μετρά το βάθος εσοχής και απορρίπτει τις κενές γραμμές — δημιουργώντας δομημένη λίστα tokens πριν ξεκινήσει η ανάλυση.
  2. 2
    Ένας αναλυτής αναδρομικής κατάβασης χτίζει το δέντρο δεδομένων
    Ο αναλυτής διατρέχει τη λίστα tokens χρησιμοποιώντας το επίπεδο εσοχής για να καθορίσει τη δομή. Αναγνωρίζει στοιχεία sequence (- value), κλειδιά mapping (key: value) και ένθετα μπλοκ. Τα scalars περνούν από βήμα μετατροπής τύπου που χειρίζεται null, booleans, ακέραιους (απορρίπτοντας τιμές με αρχικό μηδέν όπως 007 για να αποφευχθεί σιωπηλή αλλοίωση δεδομένων) και δεκαδικούς — με προαιρετική λειτουργία που κρατά λέξεις YAML 1.1 όπως yes, no, on και off ως συμβολοσειρές αντί να τις μετατρέπει σε booleans.
  3. 3
    Οι μη υποστηριζόμενες δυνατότητες YAML επισημαίνονται, δεν απορρίπτονται σιωπηλά
    Πριν παραγάγει έξοδο, το εργαλείο αναζητά anchors (&name), aliases (*name), κλειδιά συγχώνευσης (<<:), block scalars (| και >), δείκτες πολλαπλών εγγράφων (---) και διπλότυπα κλειδιά mapping. Οποιοδήποτε από αυτά προκαλεί ορατή προειδοποίηση αντί να παραχθεί ανεπαίσθητα λάθος JSON.
  4. 4
    Σειριοποίηση JSON ή εξαγωγή YAML και διάθεση
    Για YAML→JSON, η τιμή δίνεται στο JSON.stringify με την εσοχή που επιλέξατε (2 κενά, 4 κενά, tab ή ελαχιστοποίηση). Για JSON→YAML, ένας προσαρμοσμένος εκδότης διατρέχει την τιμή JavaScript και παράγει YAML με εσοχές, βάζοντας εισαγωγικά σε συμβολοσειρές μόνο όταν χρειάζεται (π.χ. τιμές που περιέχουν :, # ή μοιάζουν με δεσμευμένες λέξεις). Η έξοδος εμφανίζεται αμέσως καθώς πληκτρολογείτε και μπορεί να αντιγραφεί ή να ληφθεί.

Σχετικά εργαλεία

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