JSON do Konwerter YAML
Konwertuj strukturę JSON na czysty format YAML. Idealny do manifestów Kubernetes i konfiguracji chmury.
Konwertuj strukturę JSON na czysty format YAML. Idealny do manifestów Kubernetes i konfiguracji chmury.
Przejście z JSON na YAML polega głównie na tym, aby dane były bardziej czytelne dla ludzi. Obydwa formaty opisują te same rodzaje struktur — obiekty/mapy, tablice/sekwencje, skalary — ale składnia YAML oparta na wcięciach, opcjonalne cytowanie i obsługa komentarzy ułatwiają ręczne skanowanie i edycję. Pliki konfiguracyjne to kanoniczny przypadek użycia: manifesty Kubernetesa, przepływy pracy CI, podręczniki Ansible i dziesiątki innych narzędzi wybrały YAML właśnie dlatego, że ich głównymi redaktorami są ludzie.
Ten konwerter używa js-yaml do serializacji przeanalizowanego obiektu JSON do YAML. Wynik zachowuje strukturę danych dokładnie przy zastosowaniu konwencji YAML: wcięcia dla zagnieżdżenia, listy dla tablic, pary klucz-wartość dla właściwości obiektu. Ścisłe podwójne cytowanie JSON zostało złagodzone; w wynikach cytowane są tylko ciągi znaków zawierające znaki specjalne lub wyglądające jak inne typy.
Konwersja zachowuje informacje, z wyjątkiem sytuacji, gdy YAML dodaje wyrazistości, której nie ma JSON. Nie można zrekonstruować komentarzy (w JSON ich nie było). Odniesienia do kotwic i aliasów mogą potencjalnie kompresować powtarzające się struktury, ale nie są generowane automatycznie; dane wyjściowe rozwijają wszystkie odniesienia wbudowane.
YAML jest znacznie bardziej czytelny niż JSON dla konfiguracji edycji edytowanej przez ludzi. Wcięcia zastępują zagnieżdżanie nawiasów klamrowych, cudzysłowy są opcjonalne w przypadku prostych ciągów, a komentarze mogą dokumentować nieoczywiste ustawienia. W przypadku plików obsługiwanych przez ludzi — konfiguracji aplikacji, infrastruktury jako kodu, tworzenia potoków — YAML jest prawie zawsze właściwym formatem docelowym.
Nowoczesne narzędzia infrastrukturalne w przeważającej mierze faworyzują YAML. Kubernetes, Helm charts, Ansible, GitHub Actions, GitLab CI, Docker Compose i wiele innych narzędzi preferuje lub wymaga YAML. Konwersja eksportu JSON z jednego systemu na konfigurację YAML dla innego jest rutynowym krokiem integracji.
Wklej JSON, pobierz YAML.
Funkcja dump js-yaml przegląda drzewo obiektów JavaScript i emituje YAML przy użyciu konfigurowalnego formatowania. Głębokość wcięcia, szerokość linii, próg stylu przepływu i obsługa cytatów to parametry. Domyślne ustawienia tworzą YAML w stylu blokowym z wcięciem 2-spacyjnym, co jest najczęstszą konwencją.
Cytowanie ciągów znaków jest zgodne z regułami YAML: ciągi znaków, które wyglądają podobnie do innych typów (liczby, wartości logiczne, wartość null, daty) są cytowane, aby wymusić interpretację ciągów; ciągi zawierające znaki specjalne (dwukropki, skróty, myślniki początkowe) są cytowane; proste ciągi alfabetyczne pozostawia się bez cudzysłowu.
Dane wyjściowe są kompatybilne z YAML 1.2 i można je łatwo analizować za pomocą js-yaml, PyYAML i innych głównych bibliotek YAML. Idempotentne podróże w obie strony (JSON → YAML → JSON) zachowują dane, chociaż reprezentacja YAML wybiera formatowanie kanoniczne, które może różnić się od odpowiednika pisanego ręcznie.