Konwerter JSON na YAML
Konwertuj JSON na YAML i YAML na JSON w przeglądarce, z obsługą kotwic, kluczy scalających i plików z wieloma dokumentami. Nic nie jest wysyłane.
Jak korzystać z konwertera JSON na YAML
- Wybierz kierunek: JSON → YAML lub YAML → JSON.
- Wklej dane albo kliknij Otwórz plik, aby wczytać plik
.json,.yamllub.yml(do 10 MB). - Wybierz Wcięcie (2 lub 4 spacje) i, jeśli chcesz, zaznacz Sortuj klucze, aby uporządkować je alfabetycznie.
- Kliknij Konwertuj albo po prostu pisz dalej: wynik aktualizuje się automatycznie. Jeśli dane wejściowe są niepoprawne, komunikat błędu podaje wiersz i kolumnę problemu.
- Skopiuj lub pobierz wynik. Odwróć kierunek przenosi wynik z powrotem do pola wejściowego, aby przekonwertować go w drugą stronę.
JSON i YAML: te same dane, inna składnia
W praktyce YAML jest nadzbiorem JSON: każde dane zapisane w JSON da się wyrazić w YAML, a YAML dodaje lżejszą składnię, łatwiejszą do czytania i edycji przez ludzi. Dlatego manifesty Kubernetes, pliki Docker Compose, GitHub Actions i potoki GitLab CI, playbooki Ansible oraz specyfikacje OpenAPI zwykle pisze się w YAML, a API i programy wymieniają się JSON-em.
Te same dane w obu formatach:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konwerter zapisuje YAML w stylu blokowym: jeden klucz w wierszu, listy z myślnikami i wcięte zagnieżdżone obiekty. Długie ciągi nigdy nie są zawijane, a ciągi wielowierszowe używają stylu dosłownego |, dzięki czemu znaki nowego wiersza są zachowane dokładnie. Ciągi, które YAML odczytałby jako inny typ, są ujmowane w cudzysłowy: "yes", "1.0" czy "null" pozostają ciągami po konwersji w obie strony. Sortuj klucze porządkuje alfabetycznie klucze każdego obiektu, co ułatwia porównywanie dwóch plików konfiguracyjnych.
YAML → JSON
YAML jest odczytywany według schematu core YAML 1.2 – tych samych reguł, których używa większość nowoczesnych narzędzi:
true/false, liczby inull(lub~) stają się wartościami JSON;yes,no,onioffpozostają ciągami, zgodnie ze specyfikacją YAML 1.2.- Kotwice i aliasy (
&base,*base) są rozwijane, a klucze scalające (<<: *base), częste w plikach CI, są obsługiwane. - Plik z kilkoma dokumentami rozdzielonymi
---staje się tablicą JSON z jednym elementem na dokument, a komunikat informuje, ile dokumentów połączono. - Komentarze są pomijane, bo JSON nie ma komentarzy.
.infi.nannie mają odpowiednika w JSON; są zapisywane jako ciągi"Infinity"i"NaN".
Aby chronić przeglądarkę przed plikami typu „billion laughs”, w których kilka aliasów rozwija się w miliardy wartości, dokument rozwijający się do ponad miliona wartości jest odrzucany.
Częste błędy w YAML
- Tabulatory we wcięciach: YAML dopuszcza wyłącznie spacje.
- Niespójne wcięcia: elementy tej samej listy lub obiektu muszą zaczynać się w tej samej kolumnie.
- Brak spacji po dwukropku:
key:valueto pojedynczy ciąg, akey: valueto para klucz–wartość. - Znaki specjalne bez cudzysłowów: wartość zaczynająca się od
@, odwróconego apostrofu,*,&lub!albo zawierająca:lub#musi być ujęta w cudzysłowy.
Najczęściej zadawane pytania
Czy mój plik jest wysyłany na serwer?
Nie. Konwersja odbywa się w twojej przeglądarce, a pliki konfiguracyjne, sekrety czy dane z API nigdy nie opuszczają twojego komputera.
Dlaczego „yes” i „no” nie są zamieniane na wartości logiczne?
Od YAML 1.2 wartościami logicznymi są tylko true i false. Starsze parsery YAML 1.1 traktowały yes, no, on i off jako wartości logiczne, co powodowało słynny „problem Norwegii” (kod kraju NO odczytywany jako false). To narzędzie stosuje YAML 1.2.
Czy komentarze YAML są zachowywane?
Nie. JSON nie ma komentarzy, więc giną przy konwersji YAML → JSON. Przy konwersji JSON → YAML możesz dodać komentarze do wyniku później.
Czy mogę przekonwertować plik Kubernetes z kilkoma zasobami?
Tak. Każdy zasób oddzielony --- staje się jednym elementem tablicy JSON. Konwersja tej tablicy z powrotem do YAML daje jeden dokument zawierający listę.
Czy konwerter zmienia kolejność kluczy?
Nie, chyba że zaznaczysz Sortuj klucze: klucze zachowują kolejność, w jakiej występują w danych wejściowych. Jedyny wyjątek wynika z samego JavaScriptu: klucze będące liczbami całkowitymi, np. "10" czy "2", trafiają na początek, w kolejności rosnącej.
Podobne narzędzia
- Formatowanie i walidacja JSON Darmowe narzędzie do formatowania i walidacji JSON: upiększa, minifikuje i sprawdza JSON w przeglądarce, wskazując wiersz i kolumnę błędu.
- Konwerter JSON na CSV Konwertuj JSON na CSV i CSV z powrotem na JSON w przeglądarce. Zagnieżdżone klucze stają się kolumnami, a separator jest wykrywany automatycznie.
- Konwerter JSON na XML Konwertuj JSON na XML i XML na JSON w przeglądarce, z obsługą atrybutów, powtarzanych elementów i CDATA. Nic nie jest wysyłane na serwer.