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.
- Zachowuje zagnieżdżenie i typy
- Konwertuje w trakcie pisania
- Nic nie jest wysyłane
Jak przekonwertować JSON na YAML
- Wklej albo wczytaj swój JSON.
- YAML pojawia się w trakcie pisania.
- 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ść JSON | Zapisana jako | Powó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.