JSON do YAML
Wklej JSON i otrzymaj czysty YAML: poprawne wcięcie dwoma spacjami, łańcuchy w cudzysłowie tylko gdy to konieczne, wartości wieloliniowe przedstawione jako skalary blokowe oraz opcjonalne sortowanie kluczy alfabetycznie. Przydatne do konwersji odpowiedzi API na manifesty Kubernetes, pliki konfiguracji GitHub Actions lub dowolne narzędzia, dla których YAML jest formatem natywnym.
Jak przekształcić JSON w YAML
-
1
Wklej JSON
Dowolny poprawny JSON. Konwerter dokładnie zachowuje strukturę semantyczną.
-
2
Wybierz wcięcie i styl
2 lub 4 spacje; styl przepływowy dla kompaktowych tablic/obiektów oraz styl blokowy dla długich form.
-
3
Opcjonalnie: sortuj klucze
Sortowanie alfabetyczne ułatwia porównywanie YAML pomiędzy dwiema wersjami.
-
4
Skopiuj YAML
Wklej do pliku `.yaml` / `.yml`. Wynik to prawidłowy YAML 1.2.
Przykład
Wejście:
{
"name": "hyperion",
"replicas": 3,
"env": { "DEBUG": "false", "LOG_LEVEL": "info" },
"command": ["php", "artisan", "queue:work"]
}
Wyjście:
name: hyperion
replicas: 3
env:
DEBUG: "false"
LOG_LEVEL: info
command:
- php
- artisan
- queue:work
Mapowanie typów
| JSON | YAML |
|---|---|
| łańcuch | bez cudzysłowów, w cudzysłowie lub skalar blokowy według potrzeb |
| liczba całkowita | 42 |
| liczba | 3.14 |
| boolean | true / false |
| null | null (lub ~, lub pusty) |
| tablica | sekwencja blokowa z - lub przepływ [...] |
| obiekt | mapowanie blokowe z key: value lub przepływ {...} |
Gdy łańcuchy wymagają cudzysłowów
YAML automatycznie interpretuje niektóre łańcuchy jako wartości nietekstowe. Wartości o takiej formie wymagają cudzysłowów:
| Wartość | Dlaczego potrzebne są cudzysłowy |
|---|---|
yes, no, on, off |
Interpretowane jako wartości logiczne (zgodność z YAML 1.1) |
null, Null, NULL |
Interpretowane jako null |
1.23 |
Interpretowane jako liczba |
2026-04-18 |
Interpretowane jako data |
| Spacje wiodące/końcowe | Zostaną usunięte |
Zaczyna się od *, &, ! |
Dyrektywy YAML |
Konwerter automatycznie umieszcza te wartości w cudzysłowach, a pozostałe zostawia bez nich, aby tekst był czytelniejszy.
Różnice w projektowaniu między YAML a JSON
- Komentarze: YAML je obsługuje (
#), a JSON nie. - Kotwice/aliasy: YAML umożliwia odwołania wzajemne (
&anchor/*alias); JSON powtarza dane. Konwersja nie potrafi ich wywnioskować – dodaj je ręcznie, jeśli chcesz. - Łańcuchy wieloliniowe: YAML ma skalary blokowe (
|zachowuje znaki nowej linii,>je składa). Konwerter wykorzystuje je do długich łańcuchów. - Reprezentacja null: YAML dopuszcza
null,~lub pustą wartość. Domyślnie konwerter zwracanull.
Najczęstsze błędy
- „Problem Norwegii“ w YAML 1.1. Bez cudzysłowów
NOw YAML 1.1 to wartość logicznafalse. Większość nowoczesnych parserów używa YAML 1.2, gdzie tylkotrue/falsesą wartościami logicznymi, ale niektóre starsze narzędzia nadal sprawiają problemy. - Spacje na końcu wartości. YAML zachowuje je w skalarach blokowych, a usuwa w prostych. Niespodziewane, jeśli nie wiesz, jaką formę otrzymałeś.
- Tabulatory we wcięciach. YAML zabrania wcięć tabulatorami; zawsze używaj spacji.
- Bardzo długie łańcuchy w jednej linii. Podziel je na skalary blokowe dla czytelności; konwerter robi to automatycznie po przekroczeniu konfigurowalnego progu.
Najczęściej zadawane pytania
Łańcuchy, które wyglądają jak inne typy YAML (wartości logiczne, liczby, daty, null), wymagają cudzysłowów, aby pozostały łańcuchami. Łańcuchy ze znakami specjalnymi (spacja na początku, znaki niedrukowalne) również ich wymagają. Konwerter wykrywa to automatycznie i dodaje cudzysłowy tam, gdzie trzeba.
Domyślnie używany jest YAML 1.2. Jeśli potrzebujesz zgodności z YAML 1.1 (starsze narzędzia lub niektóre systemy CI), włącz opcję „Zgodność z YAML 1.1“; konwerter doda wtedy dodatkowe cudzysłowy dla wartości, które w 1.1 byłyby wartościami logicznymi (yes, no, on, off).
Tak. Styl przepływu ([1, 2, 3] i { a: 1 }) jest dostępny dla kompaktowych tablic i obiektów. Większość plików konfiguracji preferuje styl blokowy ze względu na lepszą czytelność.
Tak, z jednym zastrzeżeniem: YAML w K8s często opiera się na komentarzach i kotwicach, których JSON nie potrafi wyrazić. Przekształć strukturę danych, a następnie dodaj komentarze i kotwice ręcznie.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator EditorConfig
Wygeneruj plik .editorconfig z własnymi regułami stylu i rozmiaru wcięć, końca linii, kodowania i białych znaków, aby uzyskać spójne formatowanie w różnych IDE i edytorach.
Walidator adresów e-mail
Zweryfikuj adres e-mail: sprawdzenie składni RFC 5322, sprawdzenie rekordu MX w czasie rzeczywistym oraz szczegóły dotyczące części lokalnej, domeny i długości. Żadna wiadomość nie jest wysyłana.
Formatowanie HTML
Formatuj HTML lokalnie w przeglądarce, używając wcięć dwóch lub czterech spacji. HTML nie jest wysyłany ani walidowany.
Narzędzie jest dostępne w innych językach
- JSON ke YAML [ID]
- Chuyển đổi JSON sang YAML [VI]
- JSON a YAML [ES]
- JSON vers YAML [FR]
- JSON → YAML [KO]
- JSON naar YAML [NL]
- JSON till YAML [SV]
- JSONからYAMLへ [JA]
- JSON เป็น YAML [TH]
- من JSON إلى YAML [AR]
- JSON zu YAML [DE]
- JSON para YAML [PT]
- JSON a YAML [IT]
- JSON в YAML [RU]
- JSON'ten YAML'a [TR]
- JSON 至 YAML [ZH]
- JSON to YAML [EN]