Konwerter YAML na JSON

Zamień pliki YAML na poprawny JSON.

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

Jak przekonwertować YAML na JSON

  1. Wklej YAML albo wczytaj plik .yaml lub .yml.
  2. Napraw błąd we wskazanej linii i kolumnie.
  3. Skopiuj JSON albo pobierz go.

Przykład: YAML na wejściu, JSON na wyjściu

Linia YAMLJSON
name: Sam"name": "Sam"
age: 30"age": 30
active: true"active": true
tags: [a, b]"tags": ["a", "b"]

Funkcje YAML, które są zachowywane

  • Kotwice (&name) i aliasy (*name) są rozwijane do pełnych kopii wartości, do której się odnoszą.
  • Styl przepływowy, na przykład wstawiony {a: 1} albo [1, 2], parsuje się tak samo jak odpowiadający mu styl blokowy.
  • Kilka dokumentów oddzielonych linią złożoną z trzech łączników zamienia się w jedną tablicę JSON, w kolejności występowania.
  • Komentarze zaczynające się od # są pomijane, bo JSON nie ma składni komentarzy, do której można by je przenieść.

Częste błędy YAML

ObjawPrawdopodobna przyczyna
Błąd niepoprawnego wcięciaZnak tabulacji albo linia wcięta o jedną spację inaczej niż ta powyżej
Nieoczekiwany koniec strumieniaCudzysłów albo nawias pozostawiony otwarty gdzieś wcześniej
Wartość nieoczekiwanie zamienia się w true albo falseSamo yes, no, on albo off zapisane bez cudzysłowu

Gdzie przydaje się YAML na JSON

  • Odczyt dokładnych wartości manifestu Kubernetes w formacie, który twój skrypt już rozumie.
  • Debugowanie pliku pipeline'u CI przez podgląd jego sparsowanej struktury zamiast surowych wcięć.
  • Podanie konfiguracji YAML do narzędzia albo API, które przyjmuje tylko JSON.

YAML na JSON: najczęstsze pytania

Co się dzieje z kilkoma dokumentami YAML w jednym pliku?

Dokumenty oddzielone linią złożoną z trzech łączników są konwertowane osobno, a wynik zwracany razem jako jedna tablica JSON, w kolejności występowania.

Dlaczego pojawia się błąd niepoprawnego wcięcia?

YAML odczytuje strukturę z wcięć, więc linia wcięta o jedną spację za daleko, albo tabulator zamiast spacji, psuje wszystko. Błąd wskazuje linię i kolumnę, a Przejdź do błędu ją zaznacza.

Czy obsługiwane są kotwice i aliasy?

Tak. Wartość oznaczona kotwicą (znak &) i użyta ponownie aliasem (znak *) zostaje skopiowana w każde miejsce, w którym jest wykorzystana.

Co dzieje się z datami?

Daty takie jak 2024-05-01 zostają zapisane jako tekst, bo JSON nie ma typu daty.

Czy mogę wkleić YAML z wcięciami zrobionymi tabulatorami?

Nie. YAML wymaga spacji do wcięć, więc tabulator powoduje błąd niepoprawnego wcięcia w dokładnie wskazanej linii. Zamień go na 2 spacje i spróbuj ponownie.

Co dzieje się z powtórzonym kluczem w mapie YAML?

Wygrywa ostatnia wartość zapisana dla powtórzonego klucza, bo tak leżący u podstaw parser rozwiązuje mapę, zanim zamieni ją na JSON.

Czy można przekonwertować plik YAML, który dołącza inny plik?

Nie. Niestandardowe znaczniki takie jak !include, używane przez niektóre procesory YAML, wymagają dostępu do systemu plików, którego to narzędzie w przeglądarce nie ma. Zwykły YAML bez niestandardowych znaczników konwertuje się normalnie.

Czy obsługuje jawne znaczniki typu, takie jak !!str albo !!int?

Tak, popularne jawne znaczniki są odczytywane i konwertowane na pasujący typ JSON, zamiast być zgadywane na podstawie kształtu wartości.

Podobne narzędzia