UltKit

Convertor YAML în JSON

Transformați configurațiile YAML, specificațiile OpenAPI și fișierele CI în JSON pe care îl citește orice parser, API sau validator de schemă. Încărcați fișiere .yaml sau .yml și descărcați JSON indentat.

Convertor de date

sau trage Fișiere CSV, TSV, TXT … aici ·

Maximum 95 MB per fișier· Până la 20 fișiere· Șterse după 30 minute

Rezultat

Fișierele sunt procesate pe serverele noastre și șterse după 30 minute.

Cum se folosește acest instrument

  1. 1

    Încărcați fișierele YAML

    Adăugați fișiere .yaml sau .yml, până la 20 odată și câte 95 MB fiecare. Păstrați numele originale; fișierele JSON primesc aceleași nume, cu o extensie nouă.

  2. 2

    Alegeți formatul indentat sau compact

    Formatare lizibilă este activată și indentează JSON-ul pentru citire și revizuirea codului. Dezactivați-o din Setări avansate pentru un fișier pe un singur rând, util la lipirea într-un corp de cerere.

  3. 3

    Convertiți și folosiți fișierul

    Apăsați Convertește în JSON, descărcați și trimiteți fișierul către API, validator sau scriptul care avea nevoie de el.

De ce convertesc dezvoltatorii YAML în JSON

YAML este scris pentru oameni: indentare în loc de acolade, comentarii, fără ghilimele în jurul majorității șirurilor. Din acest motiv este formatul manifestelor Kubernetes, al workflow-urilor GitHub Actions, al fișierelor Docker Compose și al specificațiilor OpenAPI pe care echipele le editează manual. JSON este scris pentru programe. Fiecare limbaj are un parser JSON în biblioteca standard, browserele îl interpretează nativ, iar majoritatea API-urilor HTTP nu acceptă altceva.

Așadar, conversia are loc la granița dintre sisteme. Un inginer de platformă trece un manifest prin jq, care citește doar JSON. Un dezvoltator backend trimite o specificație OpenAPI unui generator de cod care cere JSON. Un tester încarcă date de test scrise în YAML într-o suită de teste JavaScript. În fiecare caz, YAML rămâne sursa de adevăr, iar JSON-ul este un artefact de build. Pentru un director întreg de feed-uri sau exporturi, nu de configurații, XML în JSON tratează în același fel formatul mai vechi de marcare.

Cum au evoluat împreună YAML și JSON

YAML propus prima dată de Clark Evans
2001
YAML 1.2 a făcut din JSON un subset al YAML
2009
RFC 8259, standardul JSON actual
2017
Revizia YAML 1.2.2 publicată
2021

Ce se întâmplă în JSON cu funcțiile specifice YAML

O ancoră (&defaults) și alias-urile ei (*defaults) permit YAML să refolosească un bloc. JSON nu are referințe, deci fiecare alias este înlocuit cu o copie completă a blocului ancorat.

  • JSON-ul poate fi vizibil mai lung decât YAML-ul
  • Cheile de îmbinare (<<: *defaults) sunt extinse în același fel
O mică configurație YAML ca JSON formatat lizibil
{
  "service": "billing",
  "replicas": 3,
  "ports": [8080, 9090],
  "env": {
    "LOG_LEVEL": "info",
    "REGION": "NO"
  }
}

Date despre formatele YAML și JSON

YAML

YAML

YAML („YAML Ain't Markup Language”) este un format de date ușor de citit de oameni, lansat pentru prima dată în 2001. Folosește indentarea în loc de paranteze, acceptă comentarii și este un superset al JSON. Este folosit pe scară largă pentru configurare în Docker Compose, Kubernetes, GitHub Actions și multe aplicații. Dependența de spațiile albe îl face ușor de stricat cu un singur spațiu pus greșit, iar unele valori, cum ar fi „no” sau datele, pot fi interpretate neașteptat.

Compresie
–
Transparență
–
Animație
–
Introdus în
2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
Convertor YAML

JSON

JavaScript Object Notation

JSON este un format text ușor pentru date structurate, popularizat de Douglas Crockford la începutul anilor 2000 și standardizat ca RFC 8259 și ECMA-404. Reprezintă obiecte, liste, șiruri de caractere, numere, valori booleene și null printr-o sintaxă simplă și lizibilă. Este formatul implicit pentru API-uri web, fișiere de configurare și schimbul de date între aplicații în aproape toate limbajele de programare. Nu are comentarii, date calendaristice sau scheme încorporate, iar fișierele mari, cu multe niveluri, sunt greu de citit fără un vizualizator.

Compresie
–
Transparență
–
Animație
–
Introdus în
2001 · Douglas Crockford
Convertor JSON

YAML se convertește în JSON atunci când o configurație sau o specificație scrisă pentru oameni trebuie să alimenteze o mașină: o cerere API, un validator de scheme sau un instrument fără parser YAML.

Întrebări frecvente despre convertorul YAML în JSON

De ce să convertiți YAML în JSON, dacă ambele conțin aceleași date?

Pentru că multe instrumente citesc doar unul dintre ele. Cititoarele de JSON există în fiecare limbaj de programare și în fiecare browser, în timp ce YAML necesită o bibliotecă suplimentară. Corpurile de cerere pentru API-uri REST, validatoarele JSON Schema, jq și fișiere precum package.json sau manifest.json al unei extensii de browser așteaptă toate JSON.

Ce se întâmplă cu comentariile din YAML?

Sunt eliminate. RFC 8259 nu definește sintaxă de comentarii pentru JSON, deci liniile care încep cu # nu au unde să fie păstrate. Păstrați fișierul YAML ca sursă documentată și tratați JSON-ul ca pe o copie generată, pe care o puteți regenera oricând.

De ce NO sau off au devenit false?

Parserele care urmează YAML 1.1 citesc yes, no, on și off ca valori booleene, astfel că un cod de țară precum NO pentru Norvegia poate deveni false. YAML 1.2 limitează valorile booleene la true și false, dar nu toate instrumentele îl respectă. Puneți astfel de valori între ghilimele în YAML, de exemplu "NO", și rămân șiruri de caractere în JSON.

Pot converti un șablon CloudFormation scris în YAML?

AWS CloudFormation acceptă ambele formate, dar etichetele scurte precum !Ref și !GetAtt există doar în YAML. Șabloanele JSON le scriu ca funcții complete, {"Ref": "MyBucket"} sau {"Fn::GetAtt": [...]}. Rescrieți etichetele scurte în forma lungă înainte de conversie, pentru ca șablonul JSON să rămână valid.

Cum fac conversia în sens invers?

Folosiți JSON în YAML. Este direcția obișnuită atunci când un răspuns de API sau un fișier generat trebuie să devină un fișier de configurare lizibil, într-un repository.