Konvertitur JSON għal YAML
Ikkonverti JSON għal YAML u YAML għal JSON fil-brawżer tiegħek, b’anchors, merge keys u fajls ta’ diversi dokumenti appoġġjati. Xejn ma jittella’.
Kif tuża l-konvertitur JSON għal YAML
- Agħżel id-direzzjoni: JSON → YAML jew YAML → JSON.
- Waħħal id-data tiegħek, jew ikklikkja Iftaħ fajl biex tiftaħ fajl
.json,.yamljew.yml(sa 10 MB). - Agħżel l-Indentazzjoni (2 jew 4 spazji) u, jekk trid, Ordna ċ-ċwievet alfabetikament.
- Ikklikkja Ikkonverti, jew kompli ikteb: ir-riżultat jiġi aġġornat awtomatikament. Jekk l-input huwa invalidu, il-messaġġ tal-iżball jagħti l-linja u l-kolonna tal-problema.
- Ikkopja jew niżżel ir-riżultat. Aqleb id-direzzjoni jibgħat l-output lura fl-input biex tikkonvertih fid-direzzjoni l-oħra.
JSON u YAML: l-istess data, sintassi differenti
Il-YAML fil-prattika huwa superset tal-JSON: kull dokument JSON jiddeskrivi data li l-YAML jista’ jesprimi, u l-YAML iżid sintassi aktar ħafifa li hija aktar faċli għan-nies biex jaqrawha u jeditjawha. Għalhekk il-manifests tal-Kubernetes, il-fajls tad-Docker Compose, il-GitHub Actions u l-pipelines tal-GitLab CI, il-playbooks tal-Ansible u l-ispeċifikazzjonijiet OpenAPI normalment jinkitbu bil-YAML, filwaqt li l-APIs u l-programmi jiskambjaw JSON.
L-istess data fiż-żewġ formati:
{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
- 80
- 443
env:
DEBUG: false
JSON → YAML
Il-konvertitur jikteb YAML bl-istil tal-blokki: ċavetta waħda f’kull linja, listi bi trattini, u oġġetti nested indentati. L-istrings twal qatt ma jintwew, u l-istrings b’diversi linji jużaw l-istil litterali | biex it-tmiem tal-linji jinżamm eżattament. L-istrings li l-YAML inkella jaqra bħala tip ieħor jitqiegħdu bejn il-kwotazzjonijiet: "yes", "1.0" jew "null" jibqgħu strings wara round trip. Ordna ċ-ċwievet jordna ċ-ċwievet ta’ kull oġġett alfabetikament, li jagħmel żewġ fajls ta’ konfigurazzjoni aktar faċli biex jitqabblu.
YAML → JSON
Il-YAML jinqara bl-iskema bażika tal-YAML 1.2, l-istess regoli li jużaw il-biċċa l-kbira tal-għodod moderni:
true/false, numri unull(jew~) isiru valuri JSON;yes,no,onuoffjibqgħu strings, kif teħtieġ l-ispeċifikazzjoni YAML 1.2.- L-Anchors u l-aliases (
&base,*base) jiġu estiżi, u l-merge keys (<<: *base), komuni fil-fajls CI, huma appoġġjati. - Fajl b’diversi dokumenti separati b’
---isir array JSON b’element wieħed għal kull dokument, u messaġġ jgħidlek kemm ingħaqdu. - Il-kummenti jitneħħew, għax il-JSON m’għandux kummenti.
.infu.nanm’għandhomx ekwivalenti JSON; jinkitbu bħala l-istrings"Infinity"u"NaN".
Biex tipproteġi l-brawżer tiegħek minn fajls “billion laughs”, li fihom ftit aliases jespandu f’biljuni ta’ valuri, dokument li jespandi għal aktar minn miljun valur jiġi miċħud.
Żbalji komuni tal-YAML
- Tabs għall-indentazzjoni: il-YAML jippermetti biss spazji.
- Indentazzjoni inkonsistenti: l-oġġetti tal-istess lista jew oġġett iridu jibdew fl-istess kolonna.
- Spazju nieqes wara d-dwieta (:):
key:valuehuwa string waħda, filwaqt likey: valuehuwa par ċavetta-valur. - Karattri speċjali mingħajr kwotazzjonijiet: valur li jibda b’
@, backtick,*,&jew!, jew li fih:jew#, irid jitqiegħed bejn kwotazzjonijiet.
Mistoqsijiet frekwenti
Il-fajl tiegħi jintbagħat lil server?
Le. Il-konverżjoni taħdem fil-brawżer tiegħek, u l-fajls ta’ konfigurazzjoni, is-sigrieti jew id-data API tiegħek qatt ma jitilqu mill-kompjuter tiegħek.
Għaliex “yes” u “no” ma jinbidlux f’booleans?
Mill-YAML 1.2 ’il quddiem, true u false biss huma booleans. Parsers eqdem tal-YAML 1.1 kienu jittrattaw yes, no, on u off bħala booleans, li kkawża l-famuż “problema tan-Norveġja” (il-kodiċi tal-pajjiż NO jinqara bħala falz). Din l-għodda issegwi l-YAML 1.2.
Il-kummenti tal-YAML jinżammu?
Le. Il-JSON m’għandux kummenti, għalhekk jintilfu f’YAML → JSON. Meta tikkonverti JSON → YAML, tista’ iżżid kummenti mar-riżultat wara.
Nista’ nikkonverti fajl tal-Kubernetes b’diversi riżorsi?
Iva. Kull riżorsa separata b’--- issir element wieħed ta’ array JSON. Meta tikkonverti dak l-array lura għal YAML tikseb dokument wieħed li fih lista.
Il-konvertitur jibdel l-ordni taċ-ċwievet?
Le, ħlief jekk timmarka Ordna ċ-ċwievet: iċ-ċwievet iżommu l-ordni li jidhru fl-input tiegħek. L-eċċezzjoni waħda tiġi mill-JavaScript innifsu: ċwievet li huma numri sħaħ, bħal "10" jew "2", jitqiegħdu l-ewwel, f’ordni jitla’.
Għodod relatati
- Formatter u validatur tal-JSON Formatter u validatur tal-JSON b’xejn li jibbewtifika, jimminimizza u jiċċekkja l-JSON fil-brawżer tiegħek, b’żbalji tas-sintassi bil-linja u l-kolonna.
- Konvertitur JSON għal CSV Ikkonverti JSON għal CSV u CSV lura għal JSON fil-brawżer tiegħek. Iċ-ċwievet nested jiġu ċattjati f’kolonni, is-separaturi jinstabu u xejn ma jittella’.
- Konvertitur JSON għal XML Ikkonverti JSON għal XML u XML għal JSON fil-brawżer tiegħek, b’attributi, elementi mtennija u CDATA ttrattati. Xejn ma jittella’ lil server.