Konwerter JSON na YAML

Zamień JSON na czytelny YAML w jednym kroku.

Działa w przeglądarce. Nic, co wpiszesz, nie jest nigdzie wysyłane.

Jak przekonwertować JSON na YAML

  1. Wklej albo wczytaj swój JSON.
  2. YAML pojawia się w trakcie pisania.
  3. Skopiuj go albo pobierz plik .yaml.

Co się zmienia z JSON na YAML

  • Klamry i przecinki znikają. Strukturę pokazuje samo wcięcie.
  • Nazwy właściwości tracą cudzysłów, chyba że nazwa zawiera znak, który YAML musi ująć w cudzysłów, na przykład dwukropek.
  • Tablica JSON zamienia się w listę linii z kreską, po jednej na element, z wcięciem pod swoim kluczem.
  • true, false i null zapisuje się tym samym słowem w obu formatach.

Dlaczego niektóre wartości YAML zachowują cudzysłów

Wartość JSONZapisana jakoPowód
"007"'007'Bez cudzysłowu 007 odczytałoby się jako liczbę 7
"yes"'yes'Niektóre czytniki YAML traktują samo yes albo no jako wartość logiczną
"null"'null'Bez cudzysłowu null sparsowałoby się jako wartość null
"2024-01-01"'2024-01-01'Bez cudzysłowu daty parsują się jako typ daty w niektórych czytnikach

Gdzie spotyka się YAML

  • Pliki Docker Compose
  • Manifesty Kubernetes
  • Pliki przepływów pracy GitHub Actions
  • Playbooki Ansible

Gdzie przydaje się JSON na YAML

  • Zamiana wyeksportowanego pliku ustawień na format konfiguracyjny, który naprawdę czyta twoje narzędzie do wdrożeń.
  • Ułatwienie odczytu odpowiedzi API przed porównaniem dwóch jej wersji.
  • Szkicowanie pliku values dla wykresu Helm albo podobnego narzędzia na podstawie istniejących danych JSON.

JSON na YAML: najczęstsze pytania

Po co używać YAML zamiast JSON?

YAML pomija większość nawiasów i cudzysłowów, a strukturę pokazuje wcięciem, dzięki czemu pliki konfiguracyjne narzędzi takich jak Docker Compose, Kubernetes i GitHub Actions łatwiej czyta się i edytuje ręcznie.

Dlaczego niektóre wartości są w cudzysłowie?

Ciągi znaków, które YAML odczytałby inaczej, zachowują cudzysłów. Na przykład '007' zostaje tekstem zamiast zamienić się w liczbę 7, a 'yes' zostaje ciągiem znaków.

Czy mogę dodać komentarze do YAML?

JSON nie ma komentarzy, więc nie ma czego przenosić. Możesz dodać własne za pomocą # po konwersji.

Jaki dialekt YAML zapisuje to narzędzie?

Standardowy YAML 1.2, wygenerowany przez js-yaml, tę samą bibliotekę, której wiele narzędzi budujących Node.js używa do odczytu i zapisu plików konfiguracyjnych.

Czy kolejność kluczy zostaje zachowana?

Tak. Klucze są zapisywane w tej samej kolejności, w jakiej występują w obiekcie JSON, dzięki czemu porównanie obu plików pozostaje łatwe.

Czy mogę przekonwertować tablicę JSON na najwyższym poziomie?

Tak. Tablica na najwyższym poziomie zamienia się w sekwencję YAML zapisaną kreskami zamiast mapy kluczy i wartości.

Czy obsługuje głęboko zagnieżdżone obiekty i tablice obiektów?

Tak. Zagnieżdżenie dowolnej głębokości konwertuje się poprawnie, a każdy poziom ma wcięcie o 2 spacje większe niż poziom nadrzędny, co jest domyślnym stylem js-yaml.

Co dzieje się z wartością zawierającą dwukropek, na przykład godziną albo adresem URL?

Cała wartość zostaje ujęta w cudzysłów, bo dwukropek bez cudzysłowu, po którym następuje spacja, wyglądałby jak początek nowego klucza.

Podobne narzędzia