YAML do JSON
YAML przyjemniej pisze się ręcznie, JSON przyjemniej konsumuje programowo, a wiele nowoczesnych narzędzi (potoki CI, Kubernetes, Ansible) przyjmuje oba. Gdy musisz wkleić konfigurację do narzędzia, które upiera się przy JSON, definicje API Gateway, szablony CloudFormation, niektóre ciała webhooków, ten konwerter robi tę podróż. Kotwice, scalenia i typy specyficzne dla YAML (daty, liczby ósemkowe, null, ~) są normalizowane do odpowiedników JSON.
Jak przekonwertować YAML na JSON
-
1
Wklej YAML
Dowolny prawidłowy dokument YAML 1.1 lub 1.2.
-
2
Rozwiąż kotwice
Kotwice (`&x`) i aliasy (`*x`) są rozwijane w linii. Klucze scalania (`<<`) są spłaszczane.
-
3
Znormalizuj typy
Daty, wartości null i wartości logiczne są konwertowane na odpowiedniki JSON.
-
4
Wyprowadź JSON
Ładnie sformatowane lub zminifikowane, do wyboru.
Przykładowa konwersja
YAML:
defaults: &defaults
timeout: 30
retries: 3
production:
<<: *defaults
host: prod.example.com
debug: false
staging:
<<: *defaults
host: staging.example.com
debug: true
JSON (kotwice rozwiązane):
{
"defaults": {
"timeout": 30,
"retries": 3
},
"production": {
"timeout": 30,
"retries": 3,
"host": "prod.example.com",
"debug": false
},
"staging": {
"timeout": 30,
"retries": 3,
"host": "staging.example.com",
"debug": true
}
}
Mapowania typów
| YAML | JSON |
|---|---|
| Ciąg | Ciąg |
| Liczba całkowita | Liczba |
| Liczba zmiennoprzecinkowa | Liczba |
Wartość logiczna (true, false) |
Wartość logiczna |
Null (null, ~, puste) |
null |
| Znacznik czasu | Ciąg ISO 8601 |
| Sekwencja (lista) | Tablica |
| Mapowanie | Obiekt |
Rzeczy specyficzne dla YAML, których JSON nie potrafi przedstawić
- Komentarze. JSON nie ma standardowej składni komentarzy. Komentarze są gubione.
- Strumienie wielodokumentowe (separatory
---). JSON to jeden dokument na plik; konwerter emituje tablicę dokumentów, gdy jest ich wiele. - Kotwice i aliasy. Rozwiązywane i powielane w linii.
- Klucze złożone (klucze mapowania niebędące ciągami). Klucze JSON muszą być ciągami; klucze złożone są zamieniane na ciągi.
Pułapka 1.1 kontra 1.2
- YAML 1.1 parsuje
yes,no,on,off,y,njako wartości logiczne.NOjako kod kraju po cichu staje sięfalse. - YAML 1.2 ogranicza wartości logiczne do
trueifalse. Bezpieczniejsze, ale wiele parserów (w tym domyślny PyYAML) wciąż używa 1.1.
Konwerter domyślnie stosuje semantykę 1.2 i ostrzega, gdy 1.1 zmieniłoby wynik.
Podróż powrotna z JSON na YAML
JSON na YAML jest zwykle bezstratny (JSON to podzbiór składni YAML 1.2). YAML na JSON jest stratny: komentarze i struktura kluczy scalania znikają. Jeśli planujesz konwersję w obie strony, zachowaj oryginalny YAML w systemie kontroli wersji.
Najczęściej zadawane pytania
Nie, mają one własne szablonowanie, które działa przed parsowaniem YAML. Najpierw wyrenderuj szablon (przez kustomize build lub helm template), a potem podaj wynik tutaj.
Znaczniki czasu YAML stają się ciągami ISO 8601 w JSON. 2026-04-18 staje się "2026-04-18". Czasy i strefy czasowe są zachowywane.
Praktyczny limit w przeglądarce to około 10 MB. Dla większych plików użyj yq lub python -c "import yaml, json; print(json.dumps(yaml.safe_load(open(file))))" w linii poleceń.
Nie. Konwersja działa w Twojej przeglądarce i nic nie jest przesyłane.
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.
Podgląd Markdown
Pisz w Markdown i obserwuj, jak wyrenderowany HTML aktualizuje się na żywo. Składnia w stylu GitHub z tabelami, listami zadań, ogrodzonymi blokami kodu i automatycznymi odnośnikami.
Narzędzie odstępów w kodzie Python
Ujednolić wcięcia oraz proste odstępy przy przecinkach i operatorach. To lekka obróbka tekstu, a nie Black, Ruff ani parser Pythona.
Formater JavaScript
Formatuj JavaScript, JSX, TypeScript i JSON z konfigurowalnym wcięciem, stylem cudzysłowów, średnikami i przecinkami końcowymi.
Generator fikcyjnych numerów telefonu
Generuj do 50 fikcyjnych numerów z oficjalnie zastrzeżonych zakresów w pięciu krajach.
Narzędzie jest dostępne w innych językach
- YAML zu JSON [DE]
- YAML para JSON [PT]
- Chuyển đổi từ YAML sang JSON [VI]
- YAML till JSON [SV]
- YAML ถึง JSON [TH]
- YAML ke JSON [ID]
- YAML → JSON [KO]
- YAML a JSON [ES]
- YAMLからJSONへ [JA]
- من YAML إلى JSON [AR]
- YAML en JSON [FR]
- YAML naar JSON [NL]
- YAML in JSON [IT]
- От YAML к JSON [RU]
- YAML'dan JSON'a [TR]
- YAML 转 JSON [ZH]
- YAML to JSON [EN]