Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Konwerter JSON na YAML

Zamień JSON na czytelny YAML

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Bezpieczny konwerter


Węzły: 7 Obiekty: 1 Tablice: 1 Głębokość: 2
---
"app": "webp"
"version": 2
"debug": false
"servers":
  - "web1"
  - "web2"
Tryb bezpieczny: wszystkie klucze i ciągi są cytowane. Konwerter nie emituje kotwic, aliasów ani niestandardowych tagów YAML; limituje także głębokość i liczbę węzłów.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Konwerter JSON na YAML

JSON i YAML opisują te same struktury danych, ale YAML jest bardziej czytelny dla człowieka. Konwersja przydaje się przy plikach konfiguracyjnych i manifestach.

Czym się różnią?

CechaJSONYAML
Nawiasyobowiązkowewcięcia
Komentarzebrakdozwolone (#)
Czytelnośćśredniawysoka
PopularnośćAPI, danekonfiguracje, Docker, K8s

Przykład

{
  "app": "webp",
  "servers": ["web1", "web2"]
}

Zamienia się na:

app: webp
servers:
  - web1
  - web2

Na co uważać?

  • Wartości tekstowe mogą wymagać cudzysłowów (np. „true”, „123”).
  • Wcięcia w YAML muszą używać spacji, nie tabulatorów.
  • Konwerter zachowuje typy: liczby, booleany i null nie są cytowane.

Jak konwerter zamienia JSON na YAML

Konwersja przebiega w dwóch etapach. Najpierw parser JSON zamienia tekst wejściowy na drzewo wartości: obiekty, tablice, łańcuchy znaków, liczby, booleany i null. Dopiero potem serializer przechodzi to drzewo od korzenia w dół i zapisuje każdy poziom jako kolejne linie YAML, a głębokość zagnieżdżenia oddaje wcięciem.

Reguła mapowania jest stała: obiekt staje się mapowaniem, czyli parą klucz: wartość w jednej linii, a tablica sekwencją, w której każdy element poprzedza myślnik i spacja. Gdy elementem tablicy jest obiekt, myślnik występuje w linii pierwszego klucza, a pozostałe klucze tego obiektu trafiają do linii poniżej, z wcięciem o jeden poziom głębszym.

Ostatni etap to decyzja o cudzysłowach. Skalar zapisujemy bez nich tylko wtedy, gdy jego treść jest jednoznaczna dla parsera YAML. Wartości wyglądające jak liczba, boolean albo null, a także te zawierające znaki specjalne, trafiają w cudzysłów, żeby nie zmieniły typu. Liczby, booleany i null pochodzące z JSON-a pozostają bez cudzysłowów, bo ich typ jest znany z drzewa.

Konwersja krok po kroku

  1. Wklejasz tekst: {"app":"webp","port":8080,"debug":false,"tags":["json","yaml"],"limits":{"cpu":2,"ram":256}}. Parser sprawdza składnię i buduje drzewo wartości.
  2. W obiekcie głównym jest 5 kluczy: app, port, debug, tags i limits. Tablica tags ma 2 elementy, a zagnieżdżony obiekt limits 2 klucze. Razem daje to 7 wartości skalarnych i 3 kontenery.
  3. Każdy klucz obiektu głównego trafia do osobnej linii w postaci klucz: wartość, więc powstają linie app: webp, port: 8080 oraz debug: false.
  4. Klucz tags zapisuje się w osobnej linii, a jego dwa elementy wchodzą poziom niżej jako pozycje sekwencji z myślnikiem, z wcięciem dwóch spacji.
  5. Obiekt limits jest zagnieżdżony, więc jego klucze cpu i ram również dostają wcięcie dwóch spacji i nie są otoczone nawiasami klamrowymi.
  6. Wynik ma 9 linii: app: webp, port: 8080, debug: false, tags:, dwie pozycje z myślnikiem, limits:, cpu: 2 oraz ram: 256. Wartości 8080, 2, 256 i false nie mają cudzysłowów, bo ich typ jest jednoznaczny.

Mapowanie elementów JSON na zapis YAML

Element w JSONZapis w YAMLNa co zwrócić uwagę
Obiekt {"a": 1}a: 1Klucz i wartość w jednej linii, po dwukropku spacja
Tablica ["a", "b"]dwie linie z myślnikiemKażdy element poprzedza myślnik i spacja
Tablica obiektówmyślnik w linii pierwszego kluczaPozostałe klucze obiektu niżej, z wcięciem
Łańcuch "webp"webpBez cudzysłowów, gdy treść jest jednoznaczna
Łańcuch "123""123"Cudzysłów chroni typ tekstowy przed odczytem jako liczba
Liczba 80808080Bez cudzysłowów, typ liczbowy zachowany
Boolean falsefalseBez cudzysłowów
null oraz puste kontenerynull, {}, []Brak wartości i kontenery puste zapisywane wprost

Praktyczne wskazówki

  • Trzymaj spacje, nie tabulatory — YAML nie dopuszcza znaku tabulacji w wcięciu. Jeśli poprawiasz wynik ręcznie, ustaw w edytorze zamianę tabulatora na spacje, inaczej plik przestanie się parsować.
  • Sprawdź wartości podobne do typów — łańcuchy typu "true", "no", "123" albo "1.0" mogą zostać odczytane jako boolean lub liczba. Konwerter otacza je cudzysłowem, ale przy ręcznej edycji łatwo ten cudzysłów zgubić.
  • Usuń komentarze przed wklejeniem — JSON ich nie przewiduje, więc zapisy // i /* */ wywołają błąd parsowania. Komentarze YAML z znakiem # dopisz dopiero po konwersji.
  • Traktuj wynik jako punkt wyjścia — po konwersji możesz dodać kotwice, aliasy i komentarze, których JSON nie przenosi.
  • Przy dużych plikach zostań lokalnie — konwersja w przeglądarce jest wygodna, ale dla bardzo dużych zbiorów szybszy i pewniejszy bywa skrypt uruchomiony na dysku.

Czego narzędzie nie uwzględnia

  • Komentarze i kotwice YAML — jeśli konwertujesz w obie strony, komentarze oraz kotwice i aliasy znikną, bo JSON nie ma dla nich odpowiednika.
  • Duplikaty kluczy — JSON z powtórzonym kluczem w tym samym obiekcie jest niejednoznaczny. Parsery zwykle zostawiają ostatnią wartość, a konwerter nie sygnalizuje konfliktu.
  • Precyzja dużych liczb — identyfikatory i bardzo długie liczby całkowite mogą zostać wczytane jako liczby zmiennoprzecinkowe i stracić końcowe cyfry. Takie wartości bezpieczniej trzymać w JSON-ie jako łańcuchy.
  • Różnice między YAML 1.1 i 1.2 — interpretacja zapisów takich jak yes, no czy on zależy od wersji i parsera docelowego. Wynik jest poprawny składniowo, ale nie w każdym narzędziu odczytany tak samo.

Najczęstsze pytania

Czy YAML zastępuje JSON?

W wielu konfiguracjach tak (Docker Compose, Kubernetes, CI). W API i wymianie danych nadal króluje JSON.

Dlaczego moja wartość dostała cudzysłów?

Bo wyglądałaby jak liczba, boolean lub zawiera znaki specjalne. Cudzysłów chroni typ i treść.

Czy mogę wkleić bardzo duży JSON?

Tak, ale bardzo duże pliki lepiej konwertować lokalnie — narzędzie działa w przeglądarce i ma ograniczenia praktyczne.

Jak przekonwertować JSON na YAML online?

Wklej tekst JSON w pole wejściowe i uruchom konwersję. Wynik pojawia się od razu w polu wyjściowym, gotowy do skopiowania i zapisania jako plik z rozszerzeniem .yaml lub .yml.

Czy konwersja zmienia typy danych?

Nie. Liczby, booleany i null zostają bez cudzysłowów, a łańcuchy, które wyglądałyby jak inny typ, dostają cudzysłów, żeby zachować swój charakter tekstowy.

Dlaczego w wyniku pojawiają się myślniki?

Myślnik poprzedza każdy element tablicy. To składnia sekwencji w YAML, odpowiednik nawiasów kwadratowych z JSON-a.

Ile spacji powinno mieć wcięcie w YAML?

Specyfikacja nie narzuca konkretnej liczby, wymaga tylko spójności w obrębie bloku. Konwerter używa dwóch spacji na poziom, co jest najczęstszą konwencją.

Czy mogę dodać komentarze do wygenerowanego pliku?

Tak, YAML dopuszcza komentarze po znaku #. Konwerter ich nie generuje, bo JSON nie przechowuje komentarzy, więc dopisz je ręcznie po zakończeniu konwersji.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!