ຂ້າມໄປຫາເນື້ອຫາຫຼັກ

ຕົວແປງ YAML ເປັນ JSON ຟຣີ

ແປງ YAML ເປັນ JSON ແລະ JSON ເປັນ YAML ທັງສອງທິດທາງ. ວາງ format ໃດໆ ແລ້ວຮັບຜົນລັບທັນທີ — ບໍ່ຕ້ອງ upload server.

ເຮັດວຽກແບບອອບໄລນ໌ໄດ້ຫຼັງໂຫຼດແລ້ວ
ຜົນ JSON
ຜົນຈະປາກົດທີ່ນີ້…

ການນຳໃຊ້ທົ່ວໄປ

  • ແປ YAML ໄປສູ່ JSON ສໍາລັບ Kubernetes Manifestsແປ Kubernetes YAML ໄປ JSON (ຫຼືກັບ) ສໍາລັບເຄື່ອງມື validation scripts ຫຼື ນໍາໃຊ້ຜ່ານ API ໂດຍກົງ.
  • Docker Compose YAML / JSON Conversionແປ docker-compose.yml ໄປ JSON ສໍາລັບກວດ ຫຼືກັບ YAML ຫຼັງ programmatic edits.
  • CI/CD Pipeline Config Conversionແປ GitHub Actions GitLab CI CircleCI ແລະ pipeline configs ອື່ນໆ ລະຫວ່າງ YAML ແລະ JSON formats.
  • App Configuration File Conversionແປ app config files ລະຫວ່າງ YAML ແລະ JSON — ເປັນປະໂຫຍດເມື່ອສະລັບ frameworks ຫຼື ແບ່ງຕໍ່ໄປຍັງ configs.
  • OpenAPI / Swagger Spec Conversionແປ OpenAPI 3.x ຫຼື Swagger 2.0 API specifications ລະຫວ່າງ YAML ແລະ JSON. ທັງສອງ formats ສາມາດ ແລະ ແລກປ່ຽນໄດ້.

ມັນເຮັດວຽກແນວໃດ

ການແປງທັງສອງທິດທາງ — YAML ເປັນ JSON ແລະ JSON ເປັນ YAML — ເຮັດວຽກຢູ່ໃນບຣາວເຊີຂອງທ່ານທັງໝົດໂດຍໃຊ້ຕົວວິເຄາະ ແລະ ຕົວສ້າງທີ່ຂຽນຂຶ້ນເອງໃນໜ້ານີ້, ໂດຍບໍ່ໃຊ້ library YAML ຂອງພາກສ່ວນທີສາມ ແລະ ບໍ່ມີເຊີເວີກ່ຽວຂ້ອງ. ຫຼັກເຫດຜົນຢູ່ໃນ TypeScript module ດຽວ (lib/yamljson.ts) ທີ່ຈັດການ mapping, sequence, scalar, string ໃນວົງເລັບຄຳເວົ້າ, ແລະ ການຕັດຄຳເຫັນໃນແຖວດຽວກັນ.

  1. 1
    ຂໍ້ມູນປ້ອນເຂົ້າຖືກປະມວນຜົນລ່ວງໜ້າທີລະແຖວ
    ສຳລັບຂໍ້ມູນປ້ອນເຂົ້າ YAML, ຕົວວິເຄາະຈະແຍກຂໍ້ຄວາມເປັນແຖວ, ຕັດຄຳເຫັນໃນແຖວດຽວກັນອອກ (ຕິດຕາມສະຖານະວົງເລັບຄຳເວົ້າເພື່ອບໍ່ໃຫ້ຕັດ # ພາຍໃນ string), ວັດແທກລະດັບການຍໍ້, ແລະ ຖິ້ມແຖວຫວ່າງ — ສ້າງລາຍການ token ທີ່ມີໂຄງສ້າງກ່ອນເລີ່ມການວິເຄາະໃດໆ.
  2. 2
    ຕົວວິເຄາະແບບ recursive descent ສ້າງໂຄງສ້າງຂໍ້ມູນ
    ຕົວວິເຄາະຈະຍ່າງຜ່ານລາຍການ token ໂດຍໃຊ້ລະດັບການຍໍ້ເພື່ອກຳນົດໂຄງສ້າງ. ມັນຮັບຮູ້ລາຍການ sequence (- value), ຄີ mapping (key: value), ແລະ block ທີ່ຊ້ອນກັນ. Scalar ຈະຜ່ານຂັ້ນຕອນແປງປະເພດທີ່ຈັດການ null, boolean, ຈຳນວນເຕັມ (ປະຕິເສດຄ່ານຳໜ້າດ້ວຍສູນເຊັ່ນ 007 ເພື່ອຫຼີກລ້ຽງຂໍ້ມູນເສຍຫາຍງຽບໆ), ແລະ ຈຸດທົດສະນິຍົມ — ພ້ອມໂໝດເລືອກໄດ້ທີ່ຮັກສາຄຳ YAML 1.1 ເຊັ່ນ yes, no, on, ແລະ off ໄວ້ເປັນ string ແທນທີ່ຈະແປງເປັນ boolean.
  3. 3
    ຄຸນສົມບັດ YAML ທີ່ບໍ່ຮອງຮັບຈະຖືກໝາຍ, ບໍ່ຖືກຖິ້ມງຽບໆ
    ກ່ອນສະແດງຜົນລັບ, ເຄື່ອງມືຈະສະແກນຫາ anchor (&name), alias (*name), ຄີ merge (<<:), block scalar (| ແລະ >), ເຄື່ອງໝາຍຫຼາຍເອກະສານ (---), ແລະ ຄີ mapping ທີ່ຊ້ຳກັນ. ອັນໃດອັນໜຶ່ງໃນນີ້ຈະກະຕຸ້ນຄຳເຕືອນທີ່ເບິ່ງເຫັນໄດ້ແທນທີ່ຈະສ້າງ JSON ທີ່ຜິດພາດແບບບໍ່ຮູ້ໂຕ.
  4. 4
    JSON ຖືກ serialize ຫຼື YAML ຖືກສ້າງ, ຈາກນັ້ນພ້ອມໃຫ້ໃຊ້
    ສຳລັບ YAML→JSON, ຄ່າທີ່ວິເຄາະແລ້ວຈະຖືກສົ່ງໃຫ້ JSON.stringify ດ້ວຍການຍໍ້ທີ່ທ່ານເລືອກ (2 ຊ່ອງວ່າງ, 4 ຊ່ອງວ່າງ, tab, ຫຼື ຫຍໍ້). ສຳລັບ JSON→YAML, ຕົວສ້າງແບບກຳນົດເອງຈະຍ່າງຜ່ານຄ່າ JavaScript ທີ່ວິເຄາະແລ້ວ ແລະ ສ້າງ YAML ທີ່ຍໍ້ແລ້ວ, ໃສ່ວົງເລັບຄຳເວົ້າໃຫ້ scalar string ສະເພາະເມື່ອຈຳເປັນ (ຕົວຢ່າງ, ຄ່າທີ່ມີ :, #, ຫຼືເບິ່ງຄ້າຍຄຳສະຫງວນ). ຜົນລັບຈະປາກົດທັນທີເມື່ອທ່ານພິມ ແລະ ສາມາດສຳເນົາ ຫຼື ດາວໂຫຼດໄດ້.

ເຄື່ອງມືທີ່ກ່ຽວຂ້ອງ

ຄໍາຖາມທີ່ຖາມເລື້ອຍໆ