UltKit

Konwerter YAML na JSON

Zamień konfigurację YAML, specyfikacje OpenAPI i pliki CI na JSON, który odczyta każdy parser, API lub walidator schematów. Prześlij pliki .yaml lub .yml i pobierz JSON z wcięciami.

Konwerter danych

lub upuść Pliki CSV, TSV, TXT … tutaj ·

Maks. 95 MB na plik· Do 20 plików· Usuwane po 30 min

Plik wynikowy

Pliki są przetwarzane na naszych serwerach i usuwane po 30 min.

Jak korzystać z narzędzia

  1. 1

    Prześlij pliki YAML

    Dodaj pliki .yaml lub .yml, do 20 naraz i do 95 MB każdy. Nazwy pozostają bez zmian; pliki JSON dostają te same nazwy z nowym rozszerzeniem.

  2. 2

    Wybierz format z wcięciami lub kompaktowy

    Opcja Czytelne formatowanie jest włączona, dzięki czemu JSON ma wcięcia ułatwiające czytanie i przegląd kodu. Wyłącz ją w sekcji Ustawienia zaawansowane, jeśli potrzebujesz pliku w jednej linii do wklejenia w treść żądania.

  3. 3

    Konwertuj i używaj

    Kliknij Konwertuj na JSON, pobierz plik i przekaż go do API, walidatora lub skryptu, który go wymagał.

Dlaczego programiści konwertują YAML na JSON

YAML jest pisany dla ludzi: wcięcia zamiast nawiasów klamrowych, komentarze, brak cudzysłowów wokół większości tekstów. Dlatego to format manifestów Kubernetes, workflowów GitHub Actions, plików Docker Compose i specyfikacji OpenAPI, które zespoły edytują ręcznie. JSON jest pisany dla programów. Każdy język ma parser JSON w bibliotece standardowej, przeglądarki odczytują go natywnie, a większość API HTTP przyjmuje tylko ten format.

Dlatego konwersja odbywa się na styku systemów. Inżynier platformy przepuszcza manifest przez jq, który czyta tylko JSON. Programista backendu wysyła specyfikację OpenAPI do generatora kodu wymagającego JSON-a. Tester wczytuje dane testowe napisane w YAML do zestawu testów w JavaScripcie. W każdym przypadku źródłem prawdy pozostaje YAML, a JSON jest artefaktem builda. Jeśli zamiast konfiguracji masz cały katalog kanałów lub eksportów, XML do JSON w ten sam sposób obsłuży starszy format znaczników.

Jak YAML i JSON rozwijały się razem

Pierwsza propozycja YAML autorstwa Clarka Evansa
2001
YAML 1.2 uczynił JSON podzbiorem YAML
2009
RFC 8259, obecny standard JSON
2017
Publikacja rewizji YAML 1.2.2
2021

Co dzieje się w JSON z funkcjami dostępnymi tylko w YAML

Kotwica (&defaults) i jej aliasy (*defaults) pozwalają w YAML używać bloku wielokrotnie. JSON nie ma odwołań, więc każdy alias jest zastępowany pełną kopią bloku z kotwicą.

  • JSON może być wyraźnie dłuższy niż YAML
  • Klucze scalania (<<: *defaults) są rozwijane w ten sam sposób
Mała konfiguracja YAML jako JSON z czytelnym formatowaniem
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Najważniejsze informacje o formatach YAML i JSON

YAML

YAML

YAML („YAML Ain't Markup Language”) to przyjazny dla człowieka format danych, wydany po raz pierwszy w 2001 roku. Używa wcięć zamiast nawiasów, obsługuje komentarze i jest nadzbiorem JSON. Jest szeroko stosowany w konfiguracji Docker Compose, Kubernetes, GitHub Actions i wielu aplikacji. Poleganie na białych znakach sprawia, że łatwo go zepsuć jedną źle postawioną spacją, a niektóre wartości, takie jak „no” czy daty, mogą zostać zinterpretowane niespodziewanie.

Kompresja
–
Przezroczystość
–
Animacja
–
Rok powstania
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Konwerter YAML

JSON

JavaScript Object Notation

JSON to lekki format tekstowy do danych strukturalnych, spopularyzowany przez Douglasa Crockforda na początku lat 2000 i ustandaryzowany jako RFC 8259 oraz ECMA-404. Reprezentuje obiekty, tablice, ciągi znaków, liczby, wartości logiczne i null za pomocą prostej, czytelnej składni. Jest domyślnym formatem API internetowych, plików konfiguracyjnych i wymiany danych między aplikacjami w niemal każdym języku programowania. Nie ma wbudowanych komentarzy, dat ani schematów, a duże zagnieżdżone pliki trudno czytać bez przeglądarki JSON.

Kompresja
–
Przezroczystość
–
Animacja
–
Rok powstania
2001 · Douglas Crockford
Konwerter JSON

YAML na JSON konwertuje się wtedy, gdy konfiguracja lub specyfikacja pisana dla ludzi ma trafić do maszyny: żądania API, walidatora schematu albo narzędzia bez parsera YAML.

Konwerter YAML na JSON — najczęstsze pytania

Po co konwertować YAML na JSON, skoro zawierają te same dane?

Bo wiele narzędzi potrafi odczytać tylko jeden z tych formatów. Parsery JSON są w każdym języku programowania i w każdej przeglądarce, a YAML wymaga dodatkowej biblioteki. Treści żądań do API REST, walidatory JSON Schema, jq oraz pliki takie jak package.json czy manifest.json rozszerzenia przeglądarki oczekują JSON-a.

Co dzieje się z komentarzami w YAML?

Są pomijane. RFC 8259 nie przewiduje w JSON składni komentarzy, więc linie zaczynające się od # nie mają dokąd trafić. Traktuj plik YAML jako udokumentowane źródło, a JSON jako wygenerowaną kopię, którą możesz w każdej chwili odtworzyć.

Dlaczego NO lub off zmieniło się w false?

Parsery zgodne z YAML 1.1 odczytują yes, no, on i off jako wartości logiczne, więc kod kraju NO (Norwegia) może zamienić się w false. YAML 1.2 ogranicza wartości logiczne do true i false, ale nie każde narzędzie go stosuje. Ujmij takie wartości w cudzysłów w YAML, np. "NO", a w JSON pozostaną tekstem.

Czy mogę przekonwertować szablon CloudFormation zapisany w YAML?

AWS CloudFormation akceptuje oba formaty, ale skrócone tagi, takie jak !Ref i !GetAtt, istnieją tylko w YAML. Szablony JSON zapisują je jako pełne funkcje, {"Ref": "MyBucket"} lub {"Fn::GetAtt": [...]}. Przed konwersją zamień skrócone tagi na formę pełną, aby szablon JSON pozostał poprawny.

Jak przekonwertować plik w drugą stronę?

Użyj JSON do YAML. To typowy kierunek, gdy odpowiedź API lub wygenerowany plik ma stać się czytelnym plikiem konfiguracyjnym w repozytorium.