YAML na JSON
Local only — nothing is uploaded unless you save or share it.
Zamień plik konfiguracyjny na JSON albo JSON z powrotem na czytelny YAML.
- Wklej swój YAML albo JSON, jeśli chcesz w drugą stronę
- Wybierz wcięcie oraz to, czy sortować klucze, by porównać dwa pliki
- Przekonwertuj, a potem skopiuj albo pobierz wynik
Zapisz to narzędzie
Miej YAML na JSON pod ręką
Użyj menu Udostępnij w przeglądarce, a potem „Dodaj do ekranu głównego”.
O tym narzędziu
W YAML-u pisze się konfigurację, a JSON to coś, co czyta większość programów, więc ta konwersja siedzi między plikiem edytowanym przez człowieka a programem, który go wczytuje. YAML jest znacznie mniej prosty, niż wygląda. Kotwice pozwalają użyć jednego bloku gdzie indziej, skalary blokowe składają albo zachowują łamania wiersza zależnie od jednego znaku interpunkcyjnego, niejawne typowanie po cichu zamienia słowo no w false, a jeden plik może zawierać kilka dokumentów rozdzielonych trzema myślnikami. Zgrubny parser radzi sobie z większością tego i po cichu przegrywa z resztą, produkując wyglądający poprawnie JSON z błędnymi wartościami w środku, dlatego tutaj używana jest pełna implementacja YAML-a. To, czego ludzie najbardziej potrzebują, to komunikat błędu. Niemal każdy błąd YAML-a jest błędem wcięcia, a błędy wcięcia zauważa się kilka wierszy poniżej miejsca, w którym powstały, więc podawany jest numer wiersza, a nie ogólna skarga, że coś jest nie tak. Gdy plik zawiera kilka dokumentów, stają się one tablicą JSON i jest o tym mowa, bo zachowanie tylko pierwszego oznaczałoby utratę danych bez słowa. Wszystko działa w twojej przeglądarce.
Najczęstsze pytania
Dlaczego mój YAML wykłada się kilka wierszy poniżej błędu?
Bo wcięcie jest strukturą. Blok wcięty o jedną spację za daleko pozostaje poprawny do chwili, gdy coś dalej mu zaprzeczy, i wtedy parser wreszcie protestuje. Zacznij od wskazanego wiersza i czytaj w górę do ostatniego, którego wcięcia jesteś pewien.
Czy zamieni też JSON na YAML?
W obie strony. JSON na YAML to ta konwersja, której się chce, gdy plik konfiguracyjny ma edytować człowiek — znikają cudzysłowy i nawiasy, a strukturę niesie wcięcie. Zamień YAML w drugą stronę, gdy program chce JSON-a. Jako parser YAML narzędzie działa też jak walidator: plik, który się nie parsuje, podaje wiersz, zamiast po cichu przegrać później.
Co dzieje się z plikiem zawierającym kilka dokumentów?
Stają się tablicą JSON, po jednym wpisie na dokument, a liczba pokazywana jest nad wynikiem. JSON nie ma sposobu na wyrażenie separatora dokumentów, a zachowanie tylko pierwszego po cichu odrzuciłoby resztę, więc zmiana jest uwidoczniona.
Dlaczego słowo no zamieniło się w false?
To YAML robi to, co ma w specyfikacji. W YAML 1.1 słowa yes, no, on i off są wartościami logicznymi, co zaskakuje osoby z kodem kraju albo polem odpowiedzi. Ujmij wartość w cudzysłów w swoim YAML-u, jeśli ma pozostać tekstem.
Po co miałbym sortować klucze?
Żeby porównać dwie wersje tej samej konfiguracji. Jedna napisana ręcznie i druga wygenerowana przez narzędzie wypiszą te same ustawienia w innej kolejności, a różnica między nimi jest nie do odczytania. Posortowanie obu ustawia każdy klucz w tym samym miejscu, więc widać wyłącznie prawdziwe różnice.
Czy komentarze są zachowywane przy konwersji?
Nie i nie mogą być. JSON nie ma składni komentarzy, więc wszystko po znaku krzyżyka ginie po drodze. Konwersja JSON-a z powrotem na YAML daje czysty plik bez pierwotnych komentarzy, o czym warto wiedzieć, zanim nadpiszesz plik, od którego zacząłeś.
Pomóż ulepszyć to narzędzie
Znalazłeś błąd, chcesz zmiany albo brakuje Ci jakiegoś narzędzia?
Masz niewysłaną wiadomość.
Dzięki — mamy to. Odpowiedź znajdziesz w swojej skrzynce.Go to my messages