Darmowy konwerter

YAML do Konwerter JSON

Szybka i bezpieczna konwersja YAML do JSON. Idealny do plików konfiguracyjnych i analizy danych.

Lub

O tym narzędziu

YAML i JSON to blisko powiązane formaty — JSON jest technicznie ścisłym podzbiorem YAML 1.2 — a konwersja między nimi jest zwykle prosta. YAML dodaje przyjazne dla człowieka funkcje, których brakuje w JSON: komentarze, wieloliniowe ciągi znaków bez ucieczki, odniesienia do kotwic i aliasów, bardziej elastyczne cytowanie i struktura oparta na wcięciach, która przypomina naturalny układ dokumentu. To sprawia, że ​​YAML jest popularnym wyborem w przypadku plików konfiguracyjnych (manifesty Kubernetes, przepływy pracy GitHub Actions, Docker Compose), podczas gdy JSON dominuje w ładunkach API.

Konwersja YAML na JSON zwykle oznacza rezygnację z przyjaznych dla człowieka dodatków YAML w zamian za format, który łatwiej jest analizować maszynowo i który jest lingua franca interfejsów API HTTP. Komentarze są odrzucane (JSON nie ma żadnego). Odniesienia zakotwiczone są przekształcane w ich wartości referencyjne. Ciągi wieloliniowe zwijają się do standardowych ciągów JSON z osadzonymi znakami nowej linii.

Ten konwerter analizuje YAML przy użyciu js-yaml, najczęściej używanej biblioteki YAML w JavaScript. Dane wyjściowe są generowane przy użyciu JSON.stringify z opcjonalnym wcięciem. Konwersja obsługuje całą standardową składnię YAML 1.2, w tym styl przepływu, styl blokowy, skalary, sekwencje, mapowania, kotwice, aliasy i standardowe typy znaczników.

Po co konwertować YAML na JSON

Większość interfejsów API i wiele środowisk programistycznych oczekuje formatu JSON. Pliki konfiguracyjne zapisane w YAML należy przekonwertować na JSON podczas integracji z kodem lub usługami akceptującymi tylko JSON. Narzędzia dla JSON są również bogatsze: jq, JSON Path, JSON Schema i szeroki ekosystem walidatorów i transformatorów zakładają wejście JSON.

JSON jest również jednoznaczny w sposób, w jaki YAML nie jest. Elastyczność YAML stwarza niespodzianki podczas analizowania — ciągi takie jak analizowanie „nie” jako wartość logiczna fałsz w YAML 1.1, ciągi wersji analizowane jako elementy zmiennoprzecinkowe, błędy wcięcia powodujące ciche zmiany strukturalne. Konwersja na JSON zamraża dane w mniej dwuznacznej formie.

Jak używać

Wklej YAML, pobierz JSON.

  1. Dodaj swój YAML: Wklej tekst YAML w obszarze wejściowym lub upuść plik .yml/.yaml. js-yaml akceptuje pełną składnię YAML 1.2.
  2. Konwertuj: js-yaml analizuje YAML do obiektu JavaScript, a JSON.stringify serializuje go z wcięciem dwóch spacji. Komentarze są usuwane, kotwice są rozwiązywane, a specjalne typy YAML (znaczniki czasu, dane binarne) są konwertowane do reprezentacji zgodnych z JSON.
  3. Przejrzyj wynik: Upewnij się, że struktura JSON jest zgodna z oczekiwaniami. Porównaj ze źródłowym YAML, aby znaleźć miejsca, w których luźne pisanie YAML spowodowało nieoczekiwane wartości JSON.
  4. Pobierz lub skopiuj: Zapisz jako .json lub skopiuj do schowka. Dane wyjściowe są prawidłowym materiałem eksploatacyjnym JSON dla dowolnego analizatora składni JSON.

Typowe przypadki użycia

Szczegóły techniczne

js-yaml implementuje YAML 1.2 z opcjonalną obsługą dziwactw YAML 1.1 (problem „nie” jako fałsz, liczby ósemkowe bez przedrostka 0o). Parser tworzy drzewo obiektów JavaScript, używając typów natywnych: liczb, ciągów znaków, wartości logicznych, wartości null, tablic i zwykłych obiektów.

JSON.stringify serializuje drzewo obiektów do formatu JSON. Opcjonalne wcięcie pozwala uzyskać ładny wydruk; bez niego wynikiem jest kompaktowy, jednowierszowy JSON. Wartości specjalne (NaN, Infinity, niezdefiniowane) nie są prawidłowymi wartościami JSON; konwerter zmusza je do zera, jeśli są obecne.

Przypadki Edge: znaczniki czasu YAML stają się ciągami ISO-8601 w formacie JSON. Dane binarne YAML (zakodowane w formacie Base64) stają się ciągiem. Kotwice i aliasy są przekształcane w zduplikowane wartości w formacie JSON, ponieważ JSON nie ma składni odniesienia.

Najlepsze praktyki

Często zadawane pytania

Czy konwersja YAML na JSON zmienia treść?
Treść jest zachowywana tak dokładnie, jak to możliwe. Jednak niektóre funkcje specyficzne dla formatu mogą nie mieć bezpośrednich odpowiedników, dlatego mogą wystąpić drobne różnice w formatowaniu.
Po co konwertować dane do formatu JSON?
JSON to standardowy format danych dla internetowych interfejsów API i aplikacji JavaScript. Jest czytelny dla człowieka, szeroko obsługiwany przez języki programowania i ma prostszą składnię niż XML.
Czy konwerter obsługuje zagnieżdżone lub złożone struktury YAML?
Tak. Narzędzie poprawnie analizuje zagnieżdżone obiekty, tablice i wszystkie standardowe typy danych YAML, zachowując pełną strukturę danych w wynikach JSON.
Czy ta konwersja jest bezpieczna i prywatna?
Tak. Całe przetwarzanie odbywa się lokalnie w Twojej przeglądarce. Twoje dane nigdy nie opuszczają Twojego urządzenia — bez przesyłania na serwer, bez przetwarzania w chmurze, bez gromadzenia danych.
Czy moja podróż w obie strony YAML będzie czysta?
Strukturalnie tak, jeśli ponownie wyemitujesz JSON z powrotem do YAML. Komentarze i struktura kotwicy zostaną utracone; surowe wartości zostają zachowane.
Czy moje dane są przesyłane na serwer?
Nie. W Twojej przeglądarce działa js-yaml.
Jaki jest maksymalny rozmiar?
Do 50MB. js-yaml błyskawicznie obsługuje typowe pliki konfiguracyjne; analiza bardzo dużego YAML może zająć dużo czasu.
Czy obsługuje wielodokumentowy YAML?
YAML obsługuje wiele dokumentów w jednym pliku oddzielonych ---. Konwerter domyślnie przetwarza pierwszy dokument; w przypadku obsługi wielu dokumentów najpierw podziel YAML.