Əsas məzmuna keç

Pulsuz YAML-dan JSON-a Çevirici

YAML-ı JSON-a və JSON-u YAML-a hər iki istiqamətdə çevirin. İstənilən formatı yapışdırın və dönüştürülmüş nəticəni dərhal əldə edin — server yükləmə tələb olunmur.

Bir dəfə yükləndikdən sonra oflayn işləyir
JSON çıxışı
Çıxış burada görünəcək…

Ümumi istifadələr

  • Kubernetes Manifest üçün YAML-ı JSON-a ÇevirinAlətlər, təsdiqləmə skriptləri və ya API vasitəsilə birbaşa tətbiq üçün Kubernetes YAML-ı JSON-a (və ya geri) çevirin.
  • Docker Compose YAML / JSON ÇevirməYoxlama üçün docker-compose.yml-ni JSON-a çevirin, və ya proqram təriflərindən sonra YAML-a geri dönün.
  • CI/CD Boru Konfiguratsiya ÇevirməGitHub Actions, GitLab CI, CircleCI və digər boru konfigurasyonlarını YAML və JSON formatları arasında çevirin.
  • Tətbiq Konfiquratsiya Fayl ÇevirməTətbiq konfiquratsiya fayllarını YAML və JSON arasında çevirin - dəbilqə dəyişdirərkən və ya alətlər arasında konfiqurasiyanı paylaşarkən faydalı.
  • OpenAPI / Swagger Spec ÇevirməOpenAPI 3.x və ya Swagger 2.0 API spesifikasiyalarını YAML və JSON formatları arasında çevirin. Hər iki format etibarlı və əvəzlənə bilinir.

Necə İşləyir

Çevirmənin hər iki istiqaməti də — YAML-dan JSON-a və JSON-dan YAML-a — səhifəyə qurulmuş əl ilə yazılmış bir parser və yaradıcı istifadə edərək tamamilə brauzerinizdə işləyir, üçüncü tərəf YAML kitabxanası yoxdur, server iştirak etmir. Məntiq xəritələr, ardıcıllıqlar, skalyarlar, dırnaqlanmış sətirlər və inline şərh çıxarılmasını idarə edən tək bir TypeScript modulunda (lib/yamljson.ts) yaşayır.

  1. 1
    Giriş sətir-be-sətir ön-işlənir
    YAML girişi üçün, parser mətni sətirlərə bölür, inline şərhləri çıxarır (sətirlər daxilindəki #-nin çıxarılmasının qarşısını almaq üçün dırnaq vəziyyətini izləyərək), girinti dərinliyini ölçür və boş sətirləri atır — hər hansı təhlil başlamazdan əvvəl nişanların strukturlaşdırılmış bir siyahısını quraraq.
  2. 2
    Rekursiv-eniş bir parser məlumat ağacını qurur
    Parser strukturu müəyyən etmək üçün girinti səviyyəsindən istifadə edərək nişan siyahısında gəzir. Ardıcıllıq maddələrini (- dəyər), xəritə açarlarını (açar: dəyər) və iç-içə blokları tanıyır. Skalyarlar null, boolean, tam ədədlər (007 kimi aparıcı-sıfırlı dəyərləri sükutlu məlumat korlanmasından qaçmaq üçün rədd edərək) və üzən-nöqtələri idarə edən yazılmış bir çevirmə addımından keçir — yes, no, on və off kimi YAML 1.1 çılpaq sözlərini boolean-lara çevirmək əvəzinə sətir kimi saxlayan isteğe bağlı bir rejim ilə.
  3. 3
    Dəstəklənməyən YAML xüsusiyyətləri sükutla atılmır, işarələnir
    Çıxış yaratmadan əvvəl, alət lövbərləri (&name), aliasları (*name), birləşdirmə açarlarını (<<:), blok skalyarlarını (| və >), çox-sənəd nişanlarını (---) və dublikat xəritə açarlarını skan edir. Bunların hər hansı biri incə şəkildə yanlış JSON yaratmaq əvəzinə görünən bir xəbərdarlıq işə salır.
  4. 4
    JSON serializə edilir, ya da YAML yaradılır, sonra mövcud edilir
    YAML→JSON üçün, təhlil edilmiş dəyər seçdiyiniz girinti (2 boşluq, 4 boşluq, tab, ya da kiçildilmiş) ilə JSON.stringify-ə ötürülür. JSON→YAML üçün, fərdi bir yaradıcı təhlil edilmiş JavaScript dəyərini gəzir və girintilenmiş YAML yaradır, sətir skalyarlarını yalnız lazım olduqda dırnaqlayaraq (məsələn, :, #, ehtiva edən, ya da qorunmuş sözlərə bənzəyən dəyərlər). Çıxış yazdıqca ani olaraq görünür və kopyalana, ya da endirilə bilər.

Əlaqəli Alətlər

Tez-tez Verilən Suallar