Teknobench

Tiontaire JSON go YAML

Tiontaigh JSON go YAML agus YAML go JSON i do bhrabhsálaí, le tacaíocht d'ancairí, d'eochracha cumaisc agus de chomhaid il-doiciméid. Ní uaslódáiltear aon rud.

Tiontú

Conas an tiontaire JSON go YAML a úsáid

  1. Roghnaigh an treo: JSON → YAML nó YAML → JSON.
  2. Greamaigh do shonraí, nó cliceáil Oscail comhad chun comhad .json, .yaml nó .yml a lódáil (suas le 10 MB).
  3. Roghnaigh an Eangú (2 nó 4 spás) agus, más maith leat, Sórtáil eochracha in ord aibítre.
  4. Cliceáil Tiontaigh, nó coinnigh ort ag clóscríobh: nuashonraítear an toradh go huathoibríoch. Má tá an t-ionchur neamhbhailí, tugann an teachtaireacht earráide líne agus colún na faidhbe.
  5. Cóipeáil nó íoslódáil an toradh. Seolann Malartaigh an treo an t-aschur ar ais chuig an ionchur chun é a thiontú sa treo eile.

JSON agus YAML: na sonraí céanna, comhréir dhifriúil

Is sárshraith de JSON é YAML go praiticiúil: déanann gach doiciméad JSON cur síos ar shonraí is féidir le YAML a chur in iúl, agus cuireann YAML comhréir níos éadroime leis atá níos éasca do dhaoine a léamh agus a chur in eagar. Sin an fáth a scríobhtar maniféisteanna Kubernetes, comhaid Docker Compose, píblínte GitHub Actions agus GitLab CI, leabhair súgartha Ansible agus sonraíochtaí OpenAPI de ghnáth i YAML, agus malartaíonn APIanna agus cláir JSON.

Na sonraí céanna sa dá fhormáid:

{"name": "web", "ports": [80, 443], "env": {"DEBUG": false}}
name: web
ports:
  - 80
  - 443
env:
  DEBUG: false

JSON → YAML

Scríobhann an tiontaire YAML stíl bloic: eochair amháin in aghaidh na líne, liostaí le fleiscíní, agus réada neadaithe eangaithe. Ní fhilltear sreanga fada riamh, agus úsáideann sreanga il-líne an stíl litriúil | ionas go gcoinnítear bristeacha líne go beacht. Cuirtear sreanga idir comharthaí athfhriotail nuair a léifeadh YAML mar chineál eile iad: fanann "yes", "1.0" nó "null" ina sreanga tar éis babhta iomlán. Ordaíonn Sórtáil eochracha eochracha gach réada in ord aibítre, rud a fhágann go bhfuil sé níos éasca dhá chomhad chumraíochta a chur i gcomparáid.

YAML → JSON

Léitear an YAML le croíscéimre YAML 1.2, na rialacha céanna a úsáideann formhór uirlisí nua-aimseartha:

  • Éiríonn true/false, uimhreacha agus null (nó ~) ina luachanna JSON; fanann yes, no, on agus off ina sreanga, mar a éilíonn sonraíocht YAML 1.2.
  • Leathnaítear ancairí agus ailiasanna (&base, *base), agus tacaítear le heochracha cumaisc (<<: *base), coitianta i gcomhaid CI.
  • Éiríonn comhad le roinnt doiciméad scartha le --- ina eagar JSON le heilimint amháin in aghaidh an doiciméid, agus insíonn teachtaireacht duit cé mhéad a cumaisceadh.
  • Scaoiltear tuairimí, ós rud é nach bhfuil aon tuairimí i JSON.
  • Níl aon choibhéis JSON ag .inf agus .nan; scríobhtar iad mar na sreanga "Infinity" agus "NaN".

Chun do bhrabhsálaí a chosaint ó chomhaid “billion laughs”, ina leathnaíonn cúpla ailias go billiúin luachanna, diúltaítear do dhoiciméad a leathnaíonn go níos mó ná milliún luach.

Botúin choitianta YAML

  • Táib mar eangú: ní cheadaíonn YAML ach spásanna.
  • Eangú neamhchomhsheasmhach: caithfidh míreanna den liosta nó den réad céanna tosú sa cholún céanna.
  • Spás ar iarraidh tar éis an idirstad: is sreang amháin é key:value, agus is péire eochair-luach é key: value.
  • Carachtair speisialta gan comharthaí athfhriotail: caithfidh luach a thosaíonn le @, cúlchomhartha, *, & nó !, nó ina bhfuil : nó #, a bheith idir comharthaí athfhriotail.

Ceisteanna coitianta

An seoltar mo chomhad chuig freastalaí?

Ní sheoltar. Ritheann an tiontú i do bhrabhsálaí, agus ní fhágann do chomhaid chumraíochta, do rúin ná do shonraí API do ríomhaire riamh.

Cén fáth nach dtiontaítear "yes" agus "no" go boole?

Ó YAML 1.2, ní boole iad ach true agus false. Chaith parsálaithe níos sine YAML 1.1 le yes, no, on agus off mar bhoole, rud a d’fhág “fadhb na hIorua” cáiliúil (léadh cód tíre NO mar false). Leanann an uirlis seo YAML 1.2.

An gcaomhnaítear tuairimí YAML?

Ní chaomhnaítear. Níl aon tuairimí i JSON, mar sin cailltear iad i YAML → JSON. Agus JSON → YAML á thiontú, is féidir leat tuairimí a chur leis an toradh ina dhiaidh sin.

An féidir liom comhad Kubernetes le roinnt acmhainní a thiontú?

Is féidir. Éiríonn gach acmhainn scartha le --- ina heilimint amháin d’eagar JSON. Má thiontaíonn tú an t-eagar sin ar ais go YAML, faigheann tú doiciméad amháin ina bhfuil liosta.

An athraíonn an tiontaire ord eochracha?

Ní athraíonn, mura gcuireann tú tic i Sórtáil eochracha: coinníonn eochracha an t-ord ina bhfeictear iad i d’ionchur. Tagann an t-aon eisceacht ó JavaScript féin: cuirtear eochracha ar slánuimhreacha iad, mar "10" nó "2", ar dtús, in ord ardaitheach.