Konwerter YAML ↔ JSON
Konwertuj między YAML a JSON w obie strony. Przydatne do manifestów Kubernetes, configów CI i speców OpenAPI.
Wpisz dane powyżej, aby zobaczyć wynik.
Do czego to służy?
YAML i JSON opisują te same rzeczy — zagnieżdżone mapy, listy, prymitywy — ale robią trade-off między czytelnością a ścisłością. YAML jest bardziej przyjazny ludziom (manifesty Kubernetes, GitHub Actions, OpenAPI, większość configów CI); JSON to to, co wysyłają API i formaty czytelne maszynowo. Ten konwerter przerzuca między nimi bezstratnie dla struktur, które oba potrafią wyrazić. YAML używa js-yaml (YAML 1.2); JSON używa natywnego API. Obie strony działają w przeglądarce.
Kiedy tego użyć
- Wklejenie YAML-a OpenAPI / k8s / docker-compose w narzędzie, które potrzebuje JSON-a.
- Konwersja odpowiedzi API (JSON) na YAML do pliku configa.
- Audyt faktycznej struktury pliku YAML, gdy dwuznaczne wcięcie sprawia, że hierarchia jest niejasna.
Częste pułapki
- "Norway problem". YAML 1.1 konwertował
NO,YES,ON,OFFna boole. YAML 1.2 już nie, ale parsery downstream mogą. Cudzysłowuj dwuznaczne stringi, żeby być bezpiecznym. - Wielodokumentowy YAML (separatory
---) — konwertowany jest tylko pierwszy dokument. - Custom tagi (
!!python/object,!Refitd.) łamią ścisły YAML 1.2. YAML CloudFormation i dumpy pickle z PyYAML padną; najpierw posprzątaj tagi. - Anchory i aliasy są rozwijane przy YAML→JSON. JSON nie ma referencji, więc nody
*refsą inline. Round-trip daje YAML równoważny wartością, ale tekstowo większy. - Liczby vs stringi. Niezacudzysłowione YAML-owe
3.14to float;"3.14"to string.