JSON kwa Kibadilishaji cha YAML
Badilisha muundo wa JSON uwe safi umbizo la YAML. Inafaa kwa maonyesho ya Kubernetes na usanidi wa wingu.
Badilisha muundo wa JSON uwe safi umbizo la YAML. Inafaa kwa maonyesho ya Kubernetes na usanidi wa wingu.
Kutoka JSON hadi YAML ni juu ya kufanya data isomeke zaidi kwa wanadamu. Miundo yote miwili inaelezea aina zile zile za miundo - vitu/ramani, safu/mifuatano, mikondo - lakini sintaksia inayotegemea ujongezaji ya YAML, nukuu ya hiari, na usaidizi wa maoni hurahisisha kuchanganua na kuhariri kwa mkono. Faili za usanidi ni kesi ya utumizi ya kisheria: Maonyesho ya Kubernetes, utiririshaji wa kazi wa CI, Vitabu vya kucheza vya Ansible, na zana zingine nyingi zilichagua YAML haswa kwa sababu wahariri wao msingi ni wanadamu.
Kigeuzi hiki hutumia js-yaml kusawazisha kipengee cha JSON kilichochanganuliwa kuwa YAML. Matokeo huhifadhi muundo wa data haswa wakati wa kutumia kanuni za YAML: ujongezaji kwa ajili ya kuweka kiota, orodha za safu, jozi za thamani-msingi kwa sifa za kitu. Unukuu mkali wa JSON umelegezwa; ni kamba tu zilizo na herufi maalum au zinazofanana na aina zingine ndizo zilizonukuliwa kwenye matokeo.
Ugeuzaji ni kuhifadhi habari isipokuwa pale YAML inapoongeza udhihirisho ambao JSON hakuwa nao. Maoni hayawezi kujengwa upya (JSON haikuwa na). Marejeleo ya nanga na lakabu yanaweza kubana miundo inayorudiwa lakini haitolewi kiotomatiki; matokeo yanapanua marejeleo yote ndani ya mstari.
YAML inasomeka zaidi kuliko JSON kwa usanidi wa wanadamu wa kuhariri. Ujongezaji huchukua nafasi ya kuweka kiota cha brace, manukuu ni ya hiari kwa mifuatano rahisi, na maoni yanaweza kuandika mipangilio isiyo dhahiri. Kwa faili ambazo wanadamu hudumisha - usanidi wa programu, muundo-msingi-kama-msimbo, tengeneza mabomba - YAML karibu kila mara ndiyo umbizo sahihi la lengwa.
Zana za kisasa za miundombinu hupendelea sana YAML. Kubernetes, Chati za Helm, Ansible, GitHub Actions, GitLab CI, Docker Compose, na zana zingine nyingi hupendelea au kuhitaji YAML. Kubadilisha mauzo ya JSON kutoka kwa mfumo mmoja hadi usanidi wa YAML kwa mwingine ni hatua ya ujumuishaji ya kawaida.
Bandika JSON, upate YAML.
Kitendaji cha utupaji cha js-yaml hutembea mti wa kitu cha JavaScript na kutoa YAML kwa kutumia umbizo linaloweza kusanidiwa. Ujongezaji wa kina, upana wa mstari, kiwango cha juu cha mtindo wa mtiririko, na utunzaji wa nukuu zote ni vigezo. Mipangilio chaguo-msingi huzalisha YAML ya mtindo wa block na ujongezaji wa nafasi 2, mkusanyiko unaojulikana zaidi.
Kunukuu kwa kamba hufuata sheria za YAML: mifuatano inayofanana na aina nyingine (nambari, booleans, null, tarehe) imenukuliwa ili kulazimisha tafsiri ya mfuatano; kamba zilizo na wahusika maalum (koloni, hashes, dashi zinazoongoza) zinanukuliwa; tungo rahisi za alfabeti zimeachwa bila kunukuliwa.
Pato linaoana na YAML 1.2 na huchanganuliwa kwa usafi na js-yaml, PyYAML, na maktaba zingine kuu za YAML. Safari za kwenda na kurudi zisizo na uwezo (JSON → YAML → JSON) huhifadhi data, ingawa uwakilishi wa YAML huchagua umbizo la kisheria ambalo linaweza kutofautiana na sawia lililoandikwa kwa mkono.