Przejdź do głównej treści
LibraTool logoLibraTool

Konwerter YAML do JSON za darmo

Konwertuj YAML do JSON i JSON do YAML w obu kierunkach. Wklej w dowolnym formacie i uzyskaj natychmiastowo przekonwertowane wyjście — bez przesyłania na serwer.

Działa offline po wczytaniu
Wyjście JSON
Wyjście pojawi się tutaj…

Typowe zastosowania

  • Konwertuj YAML na JSON dla Manifestów KubernetesKonwertuj YAML Kubernetes do JSON (lub odwrotnie) do narzędzi, skryptów walidacji lub bezpośrednio przez API.
  • Docker Compose YAML / Konwersja JSONKonwertuj docker-compose.yml do JSON do inspekcji, lub z powrotem do YAML po edycjach programowych.
  • Konwersja Konfiguracji Potoku CI/CDKonwertuj GitHub Actions, GitLab CI, CircleCI i inne konfiguracje potoku między formatami YAML i JSON.
  • Konwersja Pliku Konfiguracji AplikacjiKonwertuj pliki konfiguracji aplikacji między YAML i JSON: przydatne podczas przełączania struktur lub dzielenia się konfiguracjami w narzędziach.
  • Konwersja Specyfikacji OpenAPI / SwaggerKonwertuj specyfikacje API OpenAPI 3.x lub Swagger 2.0 między formatami YAML i JSON. Oba formaty są ważne i wymienne.

Jak to działa

Konwersja w obu kierunkach — YAML na JSON i JSON na YAML — działa w całości w przeglądarce z użyciem ręcznie napisanego parsera i emitera wbudowanego w stronę, bez zewnętrznej biblioteki YAML i bez udziału serwera. Logika mieści się w jednym module TypeScript (lib/yamljson.ts), który obsługuje mapowania, sekwencje, wartości skalarne, ciągi w cudzysłowach i usuwanie komentarzy liniowych.

  1. 1
    Dane są wstępnie przetwarzane wiersz po wierszu
    W przypadku danych YAML parser dzieli tekst na wiersze, usuwa komentarze liniowe (śledząc stan cudzysłowów, aby nie usuwać # wewnątrz ciągów), mierzy głębokość wcięcia i odrzuca puste wiersze — budując ustrukturyzowaną listę tokenów przed rozpoczęciem parsowania.
  2. 2
    Parser rekurencyjnie zstępujący buduje drzewo danych
    Parser przechodzi przez listę tokenów, określając strukturę na podstawie poziomu wcięcia. Rozpoznaje elementy sekwencji (- wartość), klucze mapowania (klucz: wartość) i zagnieżdżone bloki. Wartości skalarne przechodzą krok konwersji typów, który obsługuje null, wartości logiczne, liczby całkowite (odrzucając wartości z zerem wiodącym, jak 007, aby uniknąć cichego uszkodzenia danych) i liczby zmiennoprzecinkowe — z opcjonalnym trybem, który zachowuje słowa YAML 1.1, takie jak yes, no, on i off, jako ciągi, zamiast zamieniać je na wartości logiczne.
  3. 3
    Nieobsługiwane funkcje YAML są sygnalizowane, a nie po cichu pomijane
    Przed emisją wyniku narzędzie szuka kotwic (&name), aliasów (*name), kluczy scalania (<<:), bloków skalarnych (| i >), znaczników wielu dokumentów (---) i zduplikowanych kluczy mapowania. Każdy z nich powoduje widoczne ostrzeżenie zamiast subtelnie błędnego JSON.
  4. 4
    JSON jest serializowany lub YAML emitowany, a następnie udostępniany
    W przypadku YAML→JSON sparsowana wartość trafia do JSON.stringify z wybranym wcięciem (2 spacje, 4 spacje, tabulator lub minifikacja). W przypadku JSON→YAML własny emiter przechodzi przez sparsowaną wartość JavaScript i tworzy YAML z wcięciami, ujmując wartości tekstowe w cudzysłowy tylko wtedy, gdy to konieczne (np. wartości zawierające :, # lub wyglądające jak słowa zastrzeżone). Wynik pojawia się natychmiast podczas pisania i można go skopiować lub pobrać.

Powiązane narzędzia

Często zadawane pytania