Konwersja formatu YAML do JSON — Numio
Analizuje jeden dokument YAML za pomocą biblioteki yaml (schemat podstawowy YAML 1.2) i wyświetla go jako JSON z wcięciem. Komentarze są usuwane, kotwice i aliasy są rozwijane, a wartości takie jak tak lub 2024-01-01 pozostają ciągami znaków.
Wysyłanie ustawień zapisanych w YAML do walidatora schematu API lub JSON, który akceptuje tylko JSON.
Kiedy go używać
- Wysyłanie ustawień zapisanych w YAML do walidatora schematu API lub JSON, który akceptuje tylko JSON.
- Sprawdzenie, jak faktycznie jest wpisany plik CI lub Kubernetes, np. czy wersja jest ciągiem znaków, czy liczbą.
Jak używać
- Wklej pojedynczy dokument YAML lub załaduj plik .yaml/.yml.
- Jeśli pojawi się błąd, sprawdź wcięcia, zduplikowane klucze i --- separatory w raportowanym wierszu.
- Przejrzyj ciągi i liczby w wynikach JSON, a następnie skopiuj je.
Wejście YAML
# deployment settings service: billing-api replicas: 2 version: "1.10" enabled: yes ports: - 80 - 443 env: LOG_LEVEL: info
JSON
{
"service": "billing-api",
"replicas": 2,
"version": "1.10",
"enabled": "yes",
"ports": [
80,
443
],
"env": {
"LOG_LEVEL": "info"
}
}Szczegóły i ograniczenia
Analizowanie odbywa się w przeglądarce. Dane wyjściowe to zawsze 2 spacje JSON; nie ma opcji minifikacji.
Obowiązują zasady YAML 1.2: tak/nie/włączone/wyłączone to ciągi znaków, a nie wartości logiczne, a daty bez cudzysłowu pozostają ciągami znaków. 0o17 jest ósemkowe (15).
Klucze scalania (<<: *anchor) nie są łączone; pojawiają się jako dosłowny klawisz „<<”. Zduplikowane klucze w jednym mapowaniu są błędem.
Liczby całkowite powyżej 2^53 tracą precyzję w JSON. Cytuj długie identyfikatory w YAML.
FAQ
Czy może przekonwertować plik zawierający kilka dokumentów oddzielonych ---?
Nie. Wiele dokumentów powoduje błąd "Source contains multiple documents". Wklejaj jeden dokument naraz. Pojedynczy początkowy --- jest dozwolony.
Dlaczego enabled: yes jest ciągiem znaków w JSON?
Parser jest zgodny z YAML 1.2, gdzie tylko true i false są wartościami logicznymi. Użyj true/false, jeśli potrzebujesz wartości logicznej JSON.
Czy obsługiwane są kotwice i aliasy?
Tak. Alias taki jak *base jest zastępowany kopią zakotwiczonej wartości. Jednak klucz scalający YAML 1.1 << nie jest stosowany.