Lumaktaw sa pangunahing nilalaman

Libreng YAML sa JSON Converter

I-convert ang YAML sa JSON at ang JSON sa YAML sa magkabilang direksyon. I-paste sa alinmang format at makakuha ng na-convert na output nang mabilis — hindi kailangan ng server upload.

Gumagana offline kapag na-load na
Output na JSON
Lalabas dito ang output…

Mga karaniwang gamit

  • I-convert ang YAML sa JSON para sa Kubernetes ManifestI-convert ang Kubernetes YAML sa JSON (o pabalik) para sa tooling, validation script, o pag-apply sa API directly.
  • Docker Compose YAML / JSON ConversionI-convert ang docker-compose.yml sa JSON para sa inspection, o pabalik sa YAML pagkatapos ng programmatic edit.
  • CI/CD Pipeline Config ConversionI-convert ang GitHub Action, GitLab CI, CircleCI, at iba pang pipeline config sa pagitan ng YAML at JSON format.
  • App Configuration File ConversionI-convert ang app config file sa pagitan ng YAML at JSON — kapaki-pakinabang kung lumipat ng framework o magbahagi ng config sa tool.
  • OpenAPI / Swagger Spec ConversionI-convert ang OpenAPI 3.x o Swagger 2.0 API specification sa pagitan ng YAML at JSON. Ang parehong format ay valid at interchangeable.

Paano ito Gumagana

Buong tumatakbo sa iyong browser ang dalawang direksyon ng conversion — YAML papuntang JSON at JSON papuntang YAML — gamit ang hand-written na parser at emitter na nakapaloob sa pahina, walang third-party na YAML library at walang server. Nasa iisang TypeScript module (lib/yamljson.ts) ang lohika na humahawak sa mapping, sequence, scalar, quoted string, at pag-alis ng inline na komento.

  1. 1
    Pinoproseso muna ang input bawat linya
    Para sa YAML input, hinahati ng parser ang text sa mga linya, inaalis ang inline na komento (sinusubaybayan ang quote state para hindi maalis ang # sa loob ng string), sinusukat ang lalim ng indentation, at itinatapon ang mga blangkong linya — bumubuo ng istrukturang listahan ng mga token bago magsimula ang anumang pag-parse.
  2. 2
    Binubuo ng recursive descent parser ang data tree
    Dinadaanan ng parser ang listahan ng token gamit ang antas ng indentation para matukoy ang istruktura. Kinikilala nito ang mga sequence item (- value), mapping key (key: value), at nested na block. Dumadaan ang mga scalar sa isang typed na coercion step na humahawak sa null, boolean, integer (tinatanggihan ang mga halagang may zero sa unahan gaya ng 007 para maiwasan ang tahimik na pagkasira ng data), at float — na may opsyonal na mode na pinananatiling string ang mga YAML 1.1 bareword gaya ng yes, no, on, at off sa halip na gawing boolean.
  3. 3
    Minamarkahan, hindi tahimik na itinatapon, ang mga hindi sinusuportahang feature ng YAML
    Bago maglabas ng output, hinahanap ng tool ang mga anchor (&name), alias (*name), merge key (<<:), block scalar (| at >), multi-document marker (---), at duplicate na mapping key. Alinman sa mga ito ay nagti-trigger ng nakikitang babala sa halip na gumawa ng JSON na banayad na mali.
  4. 4
    Sine-serialize ang JSON o inilalabas ang YAML, pagkatapos ay ginagawang available
    Para sa YAML→JSON, ipinapasa ang na-parse na halaga sa JSON.stringify gamit ang napili mong indentation (2 space, 4 space, tab, o minified). Para sa JSON→YAML, dinadaanan ng isang custom na emitter ang na-parse na JavaScript value at gumagawa ng naka-indent na YAML, nilalagyan ng quote ang mga string scalar kapag kailangan lang (hal. mga halagang may :, #, o mukhang reserved word). Agad lumalabas ang output habang nagta-type ka at puwedeng kopyahin o i-download.

Mga Kaugnay na Tool

Mga Madalas na Itanong