ප්‍රධාන අන්තර්ගතයට පිවිසෙන්න
LibraTool logoLibraTool

නොමිලේ YAML සිට JSON පරිවර්තකය

YAML JSON බවටත් JSON YAML බවටත් දෙදිශාවටම පරිවර්තනය කරන්න. ඕනෑ ම ආකෘතිය ඇලවීමෙන් ක්ෂණිකව පරිවර්තිත ප්‍රතිදානය ලබා ගන්න — සේවාදායකය උඩුගත කිරීමකින් තොරව.

load වූ පසු offline ක්‍රියා කරයි
JSON ප්‍රතිදානය
ප්‍රතිදානය මෙහි දිස් වේ…

පොදු භාවිත

  • Kubernetes ප්‍රකාශන සඳහා YAML සිට JSON සඳහා පරිවර්තනය කරන්නKubernetes YAML සිට JSON (හෝ ඔතපසු) පරිවර්තනය කරන්න මෙවලම්, සනාසි ස්ක්‍රිප්ට්, හෝ සිධුවු API ක්‍රියාවිධි සඳහා.
  • Docker Compose YAML / JSON පරිවර්තනයdocker-compose.yml සිට JSON සඳහා පරිවර්තනය කරන්න පිරීක්ෂා සඳහා හෝ ක්‍රිමතල සංස්කරණ වලින් පුටු YAML ක්‍රියාවිධි සඳහා.
  • CI/CD පයිපෙයිනය වින්‍යාස පරිවර්තනයGitHub Actions, GitLab CI, CircleCI සහ අනෙකුත් පයිපෙයිනය වින්‍යාස YAML සහ JSON ඉතුරුතුවිද අතර පරිවර්තනය කරන්න.
  • ඇයුක් වින්‍යාස ගොනු පරිවර්තනයඇයුක් වින්‍යාස ගොනු YAML සහ JSON අතර පරිවර්තනය කරන්න — රාමුව අඩුවා ගැනීම හෝ මෙවලම සහ සංමිශ්‍ර වින්‍යාස පුරුවා ගැනීම වඩා ප්‍රයෝජනවත්.
  • OpenAPI / Swagger ගුණ පරිවර්තනයOpenAPI 3.x හෝ Swagger 2.0 API ගුණ YAML සහ JSON ඉතුරුතුවිද අතර පරිවර්තනය කරන්න. පිටු ශ්‍රේණි වලින් නිවැරදි සහ මිශ්‍ර.

එය ක්‍රියා කරන්නේ කෙසේද

පරිවර්තනයේ දිශා දෙකම — YAML සිට JSON දක්වා සහ JSON සිට YAML දක්වා — කිසිදු තෙවන පාර්ශව YAML පුස්තකාලයක් නොමැතිව, සේවාදායකයක් සම්බන්ධ නොවී, පිටුවට ගොඩනගා ඇති අතින් ලියන ලද parser එකක් සහ emitter එකක් භාවිතයෙන් සම්පූර්ණයෙන්ම ඔබේ බ්‍රවුසරයේ ධාවනය වේ. logic තනි TypeScript module එකක (lib/yamljson.ts) ජීවත් වන අතර, mappings, sequences, scalars, quoted strings, සහ inline comment ඉවත් කිරීම හසුරුවයි.

  1. 1
    ආදානය රේඛාවෙන් රේඛාවට පූර්ව-සකසනු ලැබේ
    YAML ආදානය සඳහා, parser එක පෙළ රේඛා වලට බෙදා, inline comments ඉවත් කර (strings තුළ # ඉවත් නොකිරීමට quote state track කරමින්), indentation ගැඹුර මනී, හිස් රේඛා ඉවත් කරයි — ඕනෑම parsing ආරම්භ වීමට පෙර ව්‍යුහගත tokens ලැයිස්තුවක් ගොඩනගමින්.
  2. 2
    recursive descent parser එකක් දත්ත වෘක්ෂය ගොඩනඟයි
    parser එක ව්‍යුහය තීරණය කිරීමට indentation level භාවිතයෙන් token ලැයිස්තුව හරහා ගමන් කරයි. එය sequence items (- value), mapping keys (key: value), සහ nested blocks හඳුනාගනියි. Scalars null, booleans, integers (007 වැනි leading-zero අගයන් නිශ්ශබ්ද දත්ත විකෘතිය වළක්වා ගැනීමට ප්‍රතික්ෂේප කරමින්), සහ floats හසුරුවන typed coercion පියවරක් හරහා යයි — yes, no, on, සහ off වැනි YAML 1.1 barewords booleans බවට පරිවර්තනය නොකර strings ලෙස තබාගන්නා විකල්ප ප්‍රකාරයක් සමඟ.
  3. 3
    සහාය නොදක්වන YAML විශේෂාංග නිශ්ශබ්දව drop නොවී flag කෙරේ
    ප්‍රතිදානය නිකුත් කිරීමට පෙර, මෙවලම anchors (&name), aliases (*name), merge keys (<<:), block scalars (| සහ >), multi-document markers (---), සහ duplicate mapping keys සඳහා scan කරයි. මේවායින් ඕනෑම එකක් සියුම් ලෙස වැරදි JSON එකක් නිපදවනු වෙනුවට දෘශ්‍ය අනතුරු ඇඟවීමක් trigger කරයි.
  4. 4
    JSON serialize කෙරේ හෝ YAML නිකුත් කෙරේ, පසුව ලබාගත හැකි කෙරේ
    YAML→JSON සඳහා, parse කළ අගය ඔබේ තෝරාගත් indentation (spaces 2, spaces 4, tab, හෝ minified) සමඟ JSON.stringify වෙත යවනු ලැබේ. JSON→YAML සඳහා, අභිරුචි emitter එකක් parse කළ JavaScript අගය හරහා ගමන් කර indented YAML නිපදවයි, අවශ්‍ය විටක පමණක් string scalars quote කරමින් (උදා. :, #, අඩංගු අගයන් හෝ reserved words ලෙස පෙනෙන අගයන්). ප්‍රතිදානය ඔබ ටයිප් කරන විටම ක්ෂණිකව දිස්වන අතර පිටපත් හෝ බාගත හැක.

සම්බන්ධ මෙවලම්

නිතර අසන ප්‍රශ්න