Conversie JSON în YAML JavaScript Object Notation ↔ YAML Ain't Markup Language Gratuit Online Sigur
Lăsați un fișier JSON și luați YAML. E citit și scris aici, în browserul dumneavoastră, deci fișierul nu pleacă de pe dispozitiv — iar ce păstrează trecerea și ce nu are cum scrie mai jos, nu vă lăsăm să descoperiți singur.
Convertiți fișierul
Lăsați aici un fișier JSON, sau alegeți unul.
Fișierul nu pleacă de pe acest dispozitiv. Totul rulează în browserul dvs.
Nu se încarcă nimic
Conversie din JSON
Conversie în JSON
De unde vin aceste formate
CSV e cel mai vechi și cel mai puțin standardizat: un tabel scris ca rânduri de text, folosit din anii '70 și descris în scris abia în 2005, când fiecare program hotărâse deja singur care e separatorul și când se pun ghilimelele. XML a crescut din SGML în 1998, pentru documente care trebuie să poarte o structură strictă și să fie verificate după o schemă. JSON a fost scos din JavaScript de Douglas Crockford pe la 2001, redus anume la obiecte, liste, numere și șiruri — iar acel minimalism e motivul pentru care a cucerit web-ul. YAML e vărul lui citibil, unde indentarea face treaba pe care în altă parte o fac parantezele. Un singur lucru contează la conversia dintre ele: CSV e plat, o rețea de rânduri și coloane, pe când JSON, XML și YAML sunt arbori.
Unde le întâlniți
CSV e ce exportă o foaie de calcul și ce vă dă un contabil, o platformă de magazin sau un extras de cont. JSON e ce vorbesc serviciile web și în ce se scriu tot mai des fișierele de configurare. XML supraviețuiește în sistemele mai vechi din companii, în standardele de facturare și chiar înăuntrul formatelor de birou. YAML e acolo unde oamenii își scriu setările de mână. Conversia dintre ele e munca zilnică de a muta datele de unde au fost produse acolo unde sunt necesare.
Întrebări frecvente
CSV-ul meu s-a deschis într-o singură coloană în Excel. De ce?
Fiindcă foaia de calcul aștepta alt separator. Excel urmează separatorul de listă din setările regionale ale calculatorului, iar acela e punctul și virgula oriunde virgula e deja semn zecimal — adică în cea mai mare parte a Europei continentale. Un fișier separat prin virgule arată atunci ca o singură coloană de text. Folosiți fereastra de import și spuneți explicit care e separatorul, în loc să deschideți fișierul cu două clicuri. Din aceeași setare regională vine și faptul că 3.5 ajunge uneori o dată calendaristică.
De ce nu poate deveni JSON-ul meu îmbricat o foaie de calcul curată?
Fiindcă o foaie de calcul e plată, iar JSON e un arbore. Un rând poate ține o valoare pe coloană; un obiect JSON poate ține o listă înăuntrul unui câmp dinăuntrul altei liste. Conversia înseamnă să alegeți cum turtiți asta: fie lipind numele îmbricate într-un singur antet lung de coloană, fie repetând rândul-părinte o dată pentru fiecare copil. Amândouă sunt compromisuri și niciunul nu poate fi desfăcut automat — de aceea întoarcerea de la foaia de calcul la forma originală are nevoie, de obicei, de o hotărâre omenească.
Pierde fișierul din calitate?
Depinde de ce pot ține cele două formate. Conversia între formate care păstrează același lucru — un PNG într-un BMP, un WAV într-un FLAC — nu pierde nimic. Conversia într-un format care aruncă informație ca să câștige spațiu, cum e JPEG sau MP3, pierde puțin de fiecare dată, iar întoarcerea înapoi n-o aduce înapoi. Acolo unde există o alegere, pagina aceasta înclină spre păstrarea calității originale, nu spre fișierul cel mai mic.
Se încarcă fișierul meu undeva?
Nu. Conversia se face înăuntrul browserului dumneavoastră, pe calculatorul dumneavoastră; fișierul nu pleacă de acolo și nici n-are unde — nu există aici niciun server care să-l primească. De aceea un fișier mare e limitat de memoria dumneavoastră, nu de o încărcare; și de aceea nimic din ce convertiți nu poate apărea în jurnalele cuiva — nici în ale noastre. Uneltele de sunet și de film își aduc totuși motorul de conversie de pe acest site la prima folosire — vreo treizeci de megaocteți, o singură dată; după aceea lucrul se face tot pe calculatorul dumneavoastră.
De ce convertesc oamenii JSON în YAML
JSON este notația pe care o iubesc programele: strictă, compactă și înțeleasă de orice limbaj. Dar nu este blândă cu oamenii. Un fișier JSON lung este un desiș de acolade, paranteze, ghilimele și virgule, fără loc pentru un comentariu și cu o virgulă finală care poate strica totul. YAML este notația pe care o aleg oamenii când trebuie să citească și să editeze date manual. Folosește indentarea în loc de acolade, permite comentarii și se citește aproape ca o schiță, motiv pentru care a devenit favorita pentru configurare: fluxuri de compilare, definiții de containere, fișiere de implementare, setările site-urilor statice și ale uneltelor de documentație. Când datele sosesc ca JSON și vreți să lucrați cu ele într-o formă plăcută la citit, este nevoie de o conversie. De aceea convertesc oamenii JSON în YAML.
Situațiile sunt de zi cu zi. Un dezvoltator care are rezultatul unei unelte în JSON și vrea să-l transforme într-un fișier de configurare. O echipă care mută setările dintr-un sistem în altul și preferă un format lizibil. Un autor care vrea să citească structura unui răspuns de API fără aglomerație. Un student care vrea să vadă cum se potrivesc acoladele cu indentarea. În fiecare caz datele sunt aceleași, iar doar notația se schimbă.
Această pagină convertește JSON în YAML în browserul dumneavoastră. Fișierul este citit și scris aici, deci nu părăsește niciodată dispozitivul dumneavoastră, ceea ce contează pentru fișierele de configurare, care conțin adesea adrese, nume de sisteme interne și uneori secrete. Iar pagina vă spune dinainte ce păstrează trecerea și ce nu poate păstra, în loc să vă lase să descoperiți singur. Mai jos aflați cum funcționează conversia, ce se întâmplă cu imbricarea adâncă și cu șirurile lungi și cum obțineți un rezultat ordonat.
Cum funcționează conversia
Aceleași forme în ambele notații
JSON-ul dumneavoastră este citit în interiorul browserului, iar structura lui este scrisă ca YAML. Cele două conțin aceleași forme și totul se păstrează în ambele direcții: hărți, liste, șiruri, numere, valori booleene și null. Un obiect din JSON devine o mapare în YAML, o matrice devine o secvență, iar valorile scalare își păstrează tipurile. O cheie port cu numărul 8080 dă port: 8080, iar o cheie enabled cu true dă enabled: true.
Structurile repetate sunt scrise integral
YAML are o cale de a evita repetiția, cu ancore și alias-uri. Convertorul nu o folosește. Structurile repetate sunt scrise integral, nu ca ancore, astfel încât fișierul se citește de sus în jos. Asta face YAML-ul puțin mai lung, dar nimic din el nu trebuie căutat în altă parte, iar orice cititor poate înțelege fiecare bloc de unul singur.
Cheile își păstrează ordinea
Cheile își păstrează ordinea în care le avea JSON-ul. YAML-ul se citește în aceeași secvență ca sursa, deci cine cunoaște JSON-ul se va orienta imediat.
Ce se păstrează
Tot ce este dată
Totul se păstrează, în ambele direcții: hărți, liste, șiruri, numere, valori booleene și null. Dacă era o valoare în JSON-ul dumneavoastră, este o valoare în YAML, cu același tip.
Șiruri care au nevoie de protecție
Unele șiruri ar fi citite greșit în YAML dacă ar fi scrise simplu: cuvântul true, un număr între ghilimele, un text care conține două puncte. Convertorul pune asemenea șiruri între ghilimele ca să revină ca șiruri și să nu se transforme în valori booleene sau numere. Un șir JSON care spune „true” rămâne șir în YAML.
Unicode
Literele cu diacritice, simbolurile și caracterele din alte alfabete se păstrează așa cum sunt, deci un fișier în mai multe limbi rămâne lizibil.
Ce ar trebui să știți înainte să convertiți JSON în YAML
Imbricarea adâncă înseamnă indentare adâncă
YAML pune sens în indentare, deci o valoare care ajunge adânc imbricată devine un fișier adânc indentat: lizibil, dar nu scurt. Un arbore JSON de opt niveluri dă linii care încep departe de marginea din stânga. Dacă devine greu de manevrat, luați în calcul aplatizarea structurii la sursă.
Șirurile lungi sunt împărțite pe rânduri
Șirurile lungi sunt împărțite la aproximativ o sută de coloane, ceea ce schimbă locul unde cad întreruperile de rând fără a schimba valoarea. Un paragraf care era o singură linie lungă în JSON apare pe mai multe linii în YAML, dar este același text. Un program care citește YAML-ul primește șirul original.
Comentariile nu pot fi inventate
YAML permite comentarii, dar JSON nu are niciunul, deci nici rezultatul nu are. Puteți adăuga explicații manual după aceea, ceea ce este unul dintre principalele motive pentru care ați vrea fișierul în YAML.
Cum convertiți JSON în YAML aici
Adăugați fișierul
Trageți fișierul JSON pe pagină sau alegeți-l de pe dispozitiv. Este citit în interiorul browserului dumneavoastră și nu este încărcat.
Convertiți
Apăsați butonul. Un fișier de dimensiune obișnuită durează o clipă. Lăsați pagina deschisă până se termină.
Descărcați și verificați
Descărcați YAML-ul și deschideți-l într-un editor de text. Priviți începutul și sfârșitul și verificați că structura și tipurile sunt cele pe care le așteptați.
O privire mai atentă asupra JSON și YAML
Două notații pentru aceleași date
JSON a fost conceput să fie ușor de citit și de scris de programe. YAML a fost conceput să fie ușor pentru oameni. Se suprapun atât de mult încât JSON este aproape un subset al YAML, iar un cititor YAML poate de obicei citi JSON. A converti JSON în YAML nu înseamnă deci a schimba datele, ci a le reîmbrăca, într-o formă care are loc pentru note și nu are aglomerație de punctuație.
De ce indentarea cere grijă
Deoarece YAML se bazează pe indentare, o linie nealiniată schimbă sensul. Convertorul scrie indentarea consecvent, cu spații și cu aceeași lățime la fiecare nivel, deci fișierul este corect așa cum este produs. Când îl editați mai târziu, păstrați aceeași lățime și evitați tabulatoarele, pe care YAML nu le permite pentru indentare.
Lizibil, dar nu întotdeauna mai scurt
YAML este adesea descris ca mai compact decât JSON, pentru că renunță la acolade și la ghilimelele din jurul cheilor. Pentru date plate, acest lucru este adevărat. Pentru date adânc imbricate, indentarea îl poate face mai lung în caractere. Câștigul este în lizibilitate, nu în mărime.
Situații obișnuite în detaliu
Transformarea rezultatului unei unelte în configurație
Uneltele își tipăresc adesea setările sau rezultatele ca JSON. Convertiți JSON în YAML, adăugați comentarii și păstrați-l ca fișierul de configurare pe care îl întrețin oamenii.
Mutarea setărilor între sisteme
Mutarea unei configurații de la un sistem care folosește JSON la unul care folosește YAML înseamnă o conversie, urmată de o verificare că ținta acceptă cheile.
Citirea unui răspuns de API
Răspunsul unui API poate ajunge la sute de linii de acolade. În YAML, aceleași date se citesc ca o schiță și puteți vedea structura dintr-o privire.
Predare și documentație
Arătarea acelorași date în ambele notații este o cale bună de a preda cum funcționează datele structurate. Documentația care folosește exemple YAML este adesea mai ușor de citit.
Sfaturi practice înainte să convertiți JSON în YAML
Verificați că JSON-ul este valid
O virgulă rătăcită sau o ghilimea lipsă va opri conversia. Dacă pagina raportează o eroare, deschideți fișierul într-un editor care evidențiază problemele JSON și corectați linia indicată.
Aplatizați unde puteți
Dacă structura este mai adâncă decât trebuie, simplificați-o mai întâi. O structură mai plată dă un YAML mai ușor de citit și de editat.
Gândiți-vă la consumator
Uitați-vă la ce va citi YAML-ul. Unele unelte așteaptă anumite nume de chei și tipuri, și este mai ușor să ajustați JSON-ul dinainte decât să editați YAML-ul după aceea.
Fișiere mari
Totul rulează pe dispozitivul dumneavoastră, deci un fișier foarte mare cere memorie. Pentru fișiere de mai mulți megaocteți, folosiți un computer și împărțiți datele dacă pagina se încarcă greu.
Întrebări pe care le pun oamenii înainte de conversie
Vor fi datele mele schimbate?
Nu. Totul se păstrează în ambele direcții: hărți, liste, șiruri, numere, valori booleene și null.
De ce sunt șirurile mele lungi împărțite pe mai multe rânduri?
Șirurile lungi sunt împărțite la aproximativ o sută de coloane. Asta schimbă locul unde cad întreruperile de rând fără a schimba valoarea.
De ce este fișierul meu atât de indentat?
Pentru că datele sunt adânc imbricate, iar YAML exprimă imbricarea prin indentare.
Unde sunt ancorele?
Structurile repetate sunt scrise integral, nu ca ancore, astfel încât fișierul se citește de sus în jos.
Este fișierul meu încărcat?
Nu. Conversia rulează în browserul dumneavoastră, iar fișierul nu părăsește niciodată dispozitivul.
Mă pot întoarce la JSON?
Da. YAML în JSON citește fișierul înapoi, deși comentariile pe care le-ați adăugat nu vor supraviețui.
Alegerea înțeleaptă când convertiți JSON în YAML
Este YAML cu adevărat necesar?
Dacă unealta care primește citește JSON, păstrați JSON-ul. Convertiți când oamenii trebuie să citească și să editeze fișierul sau când unealta cere YAML.
Alte ținte
Dacă destinația este un fișier de marcare, poate urma JSON în XML. Pentru tabele, JSON în CSV și JSON în XLSX servesc foile de calcul.
Păstrați JSON-ul
JSON-ul este originalul dacă provine de la un program. Păstrați-l și regenerați YAML-ul când se schimbă.
Un rezultat bun după conversie
Adăugați comentarii
Rezultatul nu are niciunul, și aici strălucește YAML. Adăugați o scurtă notă deasupra fiecărui bloc care să spună ce face și ce valori sunt permise.
Verificați tipurile
Priviți valori precum versiuni, coduri și indicatori. Asigurați-vă că sunt șiruri unde ați vrut șiruri și numere unde ați vrut numere.
Păstrați indentarea consecventă
Când editați, folosiți spații și păstrați aceeași lățime la fiecare nivel. Un editor care arată spațiile albe și verifică YAML vă va scuti de erori.
Pregătirea JSON-ului pentru o conversie bună
Păstrați-l regulat
Când convertiți JSON în YAML, datele regulate se convertesc cel mai bine: chei consecvente și tipuri clare. Datele neregulate dau un rezultat corect, dar dezordonat.
Denumiți cheile clar
Oamenii vor citi YAML-ul, deci alegeți chei care spun ce înseamnă. O configurație este mai ușor de întreținut când numele ei sunt simple.
Testați mai întâi pe o bucată mică
Dacă fișierul dumneavoastră este mare, luați o secțiune într-un fișier de test și convertiți-o pe aceea. O privire rapidă asupra rezultatului arată dacă structura este cea pe care o așteptați.
Lucrul cu YAML-ul după ce convertiți JSON în YAML
Adăugați notele pe care JSON nu le putea ține
Primul lucru de făcut cu un fișier proaspăt convertit este să-l citiți de sus și să adăugați comentarii acolo unde un străin ar fi nedumerit. O scurtă linie deasupra unei secțiuni care spune ce controlează face mai mult decât o pagină de documentație ținută în altă parte, pentru că stă lângă lucrul pe care îl descrie. Acesta este principalul avantaj pe care îl câștigați când convertiți JSON în YAML.
Grupați setările înrudite
Cheile păstrează ordinea pe care o aveau în JSON, care poate fi ordinea în care un program le-a emis întâmplător. În YAML sunteți liber să le rearanjați astfel încât setările înrudite să stea împreună, cu o linie goală între grupuri. Deoarece ordinea cheilor într-o mapare nu are sens pentru majoritatea cititorilor, acest lucru este sigur, dar verificați unealta pe care o folosiți, în caz că îi pasă.
Verificați ce așteaptă unealta care primește
Un fișier YAML valid nu este neapărat o configurație validă. Uneltele așteaptă anumite chei și tipuri, iar unele sunt stricte cu cheile necunoscute. După conversie, comparați fișierul cu documentația uneltei și rulați propriul ei verificator, dacă are unul.
Folosiți controlul versiunilor
Configurația în YAML este ușor de comparat linie cu linie, ceea ce o face potrivită pentru controlul versiunilor. Salvați fișierul convertit în depozit și lăsați colegii să vadă fiecare schimbare ca o diferență clară, ceea ce era mult mai greu cu o singură linie de JSON minificat.
Atenție la secrete
JSON-ul exportat din unelte include uneori token-uri și parole. Deoarece conversia are loc în browserul dumneavoastră, nimic nu părăsește dispozitivul, dar fișierul YAML va conține aceleași secrete. Eliminați-le sau mutați-le într-un loc mai sigur înainte să salvați sau să partajați fișierul.
Urmăriți indentarea când editați
Odată ce începeți să editați manual, riscul principal este o linie care e cu un spațiu pe lângă. Folosiți un editor care arată spațiile albe și verifică YAML pe măsură ce tastați și păstrați aceeași lățime la fiecare nivel, așa cum a făcut convertorul.
Convertiți din nou când sursa se schimbă
Dacă JSON-ul este produs de un program și se schimbă din când în când, convertiți din nou JSON în YAML pentru fiecare versiune nouă și îmbinați comentariile dumneavoastră din fișierul vechi în cel nou. O unealtă de comparare face din asta o chestiune de minute.
Confidențialitate și manevrare
De ce contează conversia locală pentru configurații
Fișierele de configurare conțin adesea adrese, nume de sisteme interne și uneori chei și parole. Multe convertoare online vă încarcă fișierul pe un server, îl procesează și trimit înapoi rezultatul, iar o vreme o copie se află pe o mașină pe care nu o controlați. Aici browserul dumneavoastră face munca, deci fișierul rămâne pe dispozitivul dumneavoastră.
Ce se întâmplă când plecați
Când închideți pagina, fișierul convertit dispare din browser, așa că descărcați-l mai întâi. Nimic despre fișierul dumneavoastră nu se păstrează.
Dacă ceva nu merge
Pagina spune că fișierul nu este JSON valid
Poate exista o virgulă rătăcită, o ghilimea lipsă sau o paranteză care nu se închide. Deschideți fișierul într-un editor care evidențiază erorile JSON și corectați linia indicată.
Unealta respinge YAML-ul
Verificați numele cheilor și tipurile pe care le așteaptă. YAML-ul este valid, dar unealta poate dori alte nume sau o altă structură.
Pagina îngheață cu un fișier mare
Totul rulează pe dispozitivul dumneavoastră, iar un fișier mare cere memorie. Încercați din nou pe un computer sau împărțiți datele.
Unelte înrudite
Aceeași familie de unelte acoperă lucrările învecinate. Pentru drumul înapoi, folosiți YAML în JSON. Pentru marcaj, JSON în XML și XML în JSON convertesc între cele două. Pentru tabele există JSON în CSV, CSV în JSON, JSON în XLSX și XLSX în JSON.
Un exemplu lucrat
Să spunem că o unealtă își tipărește setările ca fișier JSON de 150 de linii și vreți să le păstrați în depozit ca o configurație pe care colegii o pot citi și comenta. Trageți fișierul aici și apăsați butonul. O clipă mai târziu descărcați un YAML de aproximativ 90 de linii în care structura se citește ca o schiță. Adăugați un comentariu deasupra fiecărei secțiuni, îl salvați și le spuneți echipei unde să editeze. JSON-ul rămâne ca ieșire a uneltei.
O scurtă listă de verificare
Înainte de conversie
Verificați că JSON-ul este valid. Simplificați imbricarea adâncă dacă puteți. Păstrați JSON-ul.
În timpul conversiei
Rămâneți pe pagină până când fișierul este gata.
După conversie
Deschideți YAML-ul, verificați structura și tipurile, adăugați comentarii și testați-l cu unealta care îl va citi.
Greșeli frecvente
Așteptarea unui fișier mai scurt
Imbricarea adâncă face indentare adâncă. YAML este mai lizibil, nu întotdeauna mai mic.
Editarea cu tabulatoare
YAML nu permite tabulatoare pentru indentare. Folosiți spații.
Pierderea sursei
Dacă JSON-ul provine de la un program, păstrați-l și regenerați YAML-ul când se schimbă.
Fișierul dumneavoastră rămâne pe dispozitivul dumneavoastră
Conversia se face local. Fișierul este citit de propriul browser, rescris acolo și înapoiat ca YAML. Nimic nu este încărcat, deci nicio copie nu ajunge pe un server și nimeni altcineva nu îl poate citi. Pentru configurații cu conținut privat, aceasta este calea sigură de a converti JSON în YAML.
Rezumat
Ca să convertiți JSON în YAML aici, trageți fișierul și apăsați butonul. Este citit și scris în browserul dumneavoastră, deci fișierul nu părăsește niciodată dispozitivul. Totul se păstrează, în ambele direcții: hărți, liste, șiruri, numere, valori booleene și null. Structurile repetate sunt scrise integral, nu ca ancore, astfel încât fișierul se citește de sus în jos. YAML pune sens în indentare, deci o valoare care ajunge adânc imbricată devine un fișier adânc indentat, lizibil, dar nu scurt. Șirurile lungi sunt împărțite la aproximativ o sută de coloane, ceea ce schimbă locul unde cad întreruperile de rând fără a schimba valoarea. Cheile își păstrează ordinea în care le avea JSON-ul.