Konvertuesi JSON në YAML
Konverto JSON në YAML dhe YAML në JSON në shfletuesin tënd, me ankora, çelësa bashkimi dhe skedarë me shumë dokumente të mbështetur. Asgjë nuk ngarkohet.
Si ta përdorësh konvertuesin JSON në YAML
- Zgjidh drejtimin: JSON → YAML ose YAML → JSON.
- Ngjit të dhënat, ose kliko Hap një skedar për të ngarkuar një skedar
.json,.yamlose.yml(deri në 10 MB). - Zgjidh Shtyrjen (2 ose 4 hapësira) dhe, nëse dëshiron, Rendit çelësat alfabetikisht.
- Kliko Konverto, ose vazhdo të shkruash: rezultati përditësohet automatikisht. Nëse hyrja është e pavlefshme, mesazhi i gabimit jep rreshtin dhe kolonën e problemit.
- Kopjo ose shkarko rezultatin. Ndërro drejtimin e dërgon daljen përsëri në hyrje për ta konvertuar në drejtimin tjetër.
JSON dhe YAML: të njëjtat të dhëna, sintaksë e ndryshme
Në praktikë YAML është një nënbashkësi e zgjeruar e JSON: çdo dokument JSON përshkruan të dhëna që YAML mund t’i shprehë, dhe YAML shton një sintaksë më të lehtë, më të përshtatshme për t’u lexuar e redaktuar nga njerëzit. Prandaj manifestet e Kubernetes, skedarët Docker Compose, GitHub Actions dhe pipeline-t e GitLab CI, playbook-et e Ansible dhe specifikimet OpenAPI zakonisht shkruhen në YAML, ndërsa API-t dhe programet shkëmbejnë JSON.
Të njëjtat të dhëna në të dyja formatet:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Konvertuesi shkruan YAML në stil blloku: një çelës për rresht, lista me viza dhe objekte të folezuara me shtyrje. Vargjet e gjata nuk palosen kurrë, dhe vargjet me shumë rreshta përdorin stilin literal | që ndarjet e rreshtave të ruhen saktësisht. Vargjet që YAML përndryshe do t’i lexonte si tip tjetër vendosen në thonjëza: "yes", "1.0" ose "null" mbeten vargje pas një kalimi vajtje-ardhje. Rendit çelësat i rendit alfabetikisht çelësat e çdo objekti, çka i bën dy skedarë konfigurimi më të lehtë për t’u krahasuar.
YAML → JSON
YAML lexohet me skemën bazë YAML 1.2, të njëjtat rregulla që përdorin shumica e mjeteve moderne:
true/false, numrat dhenull(ose~) bëhen vlera JSON;yes,no,ondheoffmbeten vargje, siç kërkon specifikimi YAML 1.2.- Ankorat dhe aliaset (
&base,*base) zgjerohen, dhe çelësat e bashkimit (<<: *base), të zakonshëm në skedarët CI, mbështeten. - Një skedar me disa dokumente të ndara me
---bëhet një varg JSON me një element për dokument, dhe një mesazh të tregon sa u bashkuan. - Komentet hiqen, pasi JSON nuk ka komente.
.infdhe.nannuk kanë ekuivalent JSON; shkruhen si vargjet"Infinity"dhe"NaN".
Për të mbrojtur shfletuesin tënd nga skedarët “billion laughs”, ku disa aliase zgjerohen në miliarda vlera, refuzohet një dokument që zgjerohet në më shumë se një milion vlera.
Gabimet e zakonshme në YAML
- Tabulime për shtyrje: YAML lejon vetëm hapësira.
- Shtyrje jokonsistente: elementet e së njëjtës listë ose të të njëjtit objekt duhet të nisin në të njëjtën kolonë.
- Hapësira që mungon pas dy pikave:
key:valueështë një varg i vetëm, ndërsakey: valueështë një çift çelës-vlerë. - Karaktere speciale pa thonjëza: një vlerë që fillon me
@, një apostrof të prapmë,*,&ose!, ose që përmban:ose#, duhet vendosur në thonjëza.
Pyetje të shpeshta
A dërgohet skedari im te një server?
Jo. Konvertimi ekzekutohet në shfletuesin tënd, dhe skedarët e tu të konfigurimit, sekretet ose të dhënat e API nuk largohen kurrë nga kompjuteri yt.
Pse “yes” dhe “no” nuk konvertohen në vlera booleane?
Që nga YAML 1.2, vetëm true dhe false janë booleane. Analizuesit më të vjetër YAML 1.1 i trajtonin yes, no, on dhe off si booleane, çka shkaktoi “problemin e Norvegjisë” të famshëm (kodi i shtetit NO lexohej si false). Ky mjet ndjek YAML 1.2.
A ruhen komentet e YAML?
Jo. JSON nuk ka komente, ndaj humbasin në YAML → JSON. Kur konverton JSON → YAML, mund të shtosh komente në rezultat më pas.
A mund të konvertoj një skedar Kubernetes me disa burime?
Po. Çdo burim i ndarë me --- bëhet një element i një vargu JSON. Konvertimi i atij vargu përsëri në YAML jep një dokument të vetëm që përmban një listë.
A e ndryshon konvertuesi radhën e çelësave?
Jo, përveç nëse shënon Rendit çelësat: çelësat ruajnë radhën që kanë në hyrjen tënde. Përjashtimi i vetëm vjen nga vetë JavaScript: çelësat që janë numra të plotë, si "10" ose "2", vendosen të parët, në rend rritës.
Mjete të ngjashme
- Formatuesi dhe vlerësuesi i JSON Formatues dhe vlerësues JSON falas që bukuron, minifikon dhe kontrollon JSON në shfletuesin tënd, me gabimet e sintaksës sipas rreshtit dhe kolonës.
- Konvertuesi JSON në CSV Konverto JSON në CSV dhe CSV në JSON në shfletuesin tënd. Çelësat e folezuar sheshohen në kolona, ndarësit zbulohen automatikisht dhe asgjë nuk ngarkohet.
- Konvertuesi JSON në XML Konverto JSON në XML dhe XML në JSON në shfletuesin tënd, me atribute, elemente të përsëritura dhe CDATA të trajtuara. Asgjë nuk ngarkohet te një server.