സൗജന്യ കൺവെർട്ടർ

YAML-ലേക്ക് JSON കൺവെർട്ടർ

വേഗതയേറിയതും സുരക്ഷിതവുമായ YAML-ലേക്ക് JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുക. കോൺഫിഗറേഷൻ ഫയലുകൾക്കും ഡാറ്റ വിശകലനത്തിനും അനുയോജ്യമാണ്.

അല്ലെങ്കിൽ

ഈ ടൂളിനെ കുറിച്ച്

YAML ഉം JSON ഉം അടുത്ത ബന്ധമുള്ള ഫോർമാറ്റുകളാണ് - JSON സാങ്കേതികമായി YAML 1.2 ൻ്റെ ഒരു കർശനമായ ഉപവിഭാഗമാണ് - അവയ്ക്കിടയിൽ പരിവർത്തനം ചെയ്യുന്നത് സാധാരണയായി ലളിതമാണ്. JSON-ന് ഇല്ലാത്ത മനുഷ്യസൗഹൃദ സവിശേഷതകൾ YAML ചേർക്കുന്നു: അഭിപ്രായങ്ങൾ, രക്ഷപ്പെടാതെയുള്ള മൾട്ടി-ലൈൻ സ്ട്രിംഗുകൾ, ആങ്കർ, അപരനാമമായ റഫറൻസുകൾ, കൂടുതൽ വഴക്കമുള്ള ഉദ്ധരണികൾ, സ്വാഭാവിക ഡോക്യുമെൻ്റ് ലേഔട്ടിനോട് സാമ്യമുള്ള ഇൻഡൻ്റേഷൻ അടിസ്ഥാനമാക്കിയുള്ള ഘടന. ഇത് YAML-നെ കോൺഫിഗറേഷൻ ഫയലുകൾക്കുള്ള ജനപ്രിയ ചോയിസാക്കി മാറ്റുന്നു (കുബർനെറ്റസ് മാനിഫെസ്റ്റുകൾ, GitHub ആക്ഷൻസ് വർക്ക്ഫ്ലോകൾ, ഡോക്കർ കമ്പോസ്) അതേസമയം JSON API പേലോഡുകളിൽ ആധിപത്യം പുലർത്തുന്നു.

YAML-നെ JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുക എന്നതിനർത്ഥം, മെഷീനുകൾ കൂടുതൽ എളുപ്പത്തിൽ പാഴ്‌സ് ചെയ്യുന്ന ഒരു ഫോർമാറ്റിന് പകരമായി YAML-ൻ്റെ മനുഷ്യസൗഹൃദ എക്സ്ട്രാകൾ ഉപേക്ഷിക്കുക എന്നതാണ്, അതാണ് HTTP API-കളുടെ ഭാഷാ ഭാഷ. അഭിപ്രായങ്ങൾ ഒഴിവാക്കി (JSON ഇല്ല). ആങ്കർ റഫറൻസുകൾ അവയുടെ റഫറൻ്റ് മൂല്യങ്ങളിലേക്ക് പരിഹരിച്ചിരിക്കുന്നു. എംബഡഡ് ന്യൂലൈനുകളുള്ള മൾട്ടി-ലൈൻ സ്ട്രിംഗുകൾ സ്റ്റാൻഡേർഡ് JSON സ്ട്രിംഗുകളിലേക്ക് ചുരുക്കുന്നു.

ജാവാസ്ക്രിപ്റ്റിൽ ഏറ്റവും വ്യാപകമായി ഉപയോഗിക്കുന്ന YAML ലൈബ്രറിയായ js-yaml ഉപയോഗിച്ച് ഈ കൺവെർട്ടർ YAML പാഴ്‌സ് ചെയ്യുന്നു. ഓപ്‌ഷണൽ ഇൻഡൻ്റേഷൻ ഉപയോഗിച്ച് JSON.stringify ഉപയോഗിച്ചാണ് ഔട്ട്‌പുട്ട് സൃഷ്‌ടിക്കുന്നത്. ഫ്ലോ സ്റ്റൈൽ, ബ്ലോക്ക് സ്റ്റൈൽ, സ്കെയിലറുകൾ, സീക്വൻസുകൾ, മാപ്പിംഗുകൾ, ആങ്കറുകൾ, അപരനാമങ്ങൾ, സ്റ്റാൻഡേർഡ് ടാഗ് തരങ്ങൾ എന്നിവയുൾപ്പെടെ എല്ലാ സ്റ്റാൻഡേർഡ് YAML 1.2 വാക്യഘടനയും പരിവർത്തനം കൈകാര്യം ചെയ്യുന്നു.

എന്തുകൊണ്ട് YAML-നെ JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നു

മിക്ക API-കളും നിരവധി പ്രോഗ്രാമിംഗ് പരിതസ്ഥിതികളും JSON പ്രതീക്ഷിക്കുന്നു. കോഡുമായോ JSON മാത്രം സ്വീകരിക്കുന്ന സേവനങ്ങളുമായോ സംയോജിപ്പിക്കുമ്പോൾ YAML-ൽ എഴുതിയ കോൺഫിഗറേഷൻ ഫയലുകൾ JSON-ലേക്ക് പരിവർത്തനം ചെയ്യേണ്ടതുണ്ട്. JSON-നുള്ള ടൂളിംഗും കൂടുതൽ സമൃദ്ധമാണ്: jq, JSON പാത്ത്, JSON സ്കീമ, വാലിഡേറ്ററുകളുടെയും ട്രാൻസ്ഫോർമറുകളുടെയും വിശാലമായ ഇക്കോസിസ്റ്റം എന്നിവയെല്ലാം JSON ഇൻപുട്ട് അനുമാനിക്കുന്നു.

YAML അല്ലാത്ത വിധത്തിലും JSON അവ്യക്തമാണ്. YAML-ൻ്റെ വഴക്കം പാഴ്‌സിംഗ് സർപ്രൈസുകൾ സൃഷ്‌ടിക്കുന്നു - YAML 1.1-ൽ ബൂളിയൻ ഫാൾസ് ആയി 'നോ' പാഴ്‌സിംഗ്, പതിപ്പ് സ്ട്രിംഗുകൾ ഫ്ലോട്ടുകളായി പാഴ്‌സിംഗ്, നിശബ്‌ദ ഘടനാപരമായ മാറ്റങ്ങൾ സൃഷ്ടിക്കുന്ന ഇൻഡൻ്റേഷൻ പിശകുകൾ. JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് ഡാറ്റയെ അവ്യക്തമായ ഒരു രൂപത്തിലേക്ക് മരവിപ്പിക്കുന്നു.

ഉപയോഗിക്കേണ്ട വിധം

YAML ഒട്ടിക്കുക, JSON നേടുക.

  1. നിങ്ങളുടെ YAML ചേർക്കുക: YAML ടെക്‌സ്‌റ്റ് ഇൻപുട്ട് ഏരിയയിലേക്ക് ഒട്ടിക്കുക അല്ലെങ്കിൽ ഒരു .yml/.yaml ഫയൽ ഡ്രോപ്പ് ചെയ്യുക. js-yaml മുഴുവൻ YAML 1.2 വാക്യഘടനയും സ്വീകരിക്കുന്നു.
  2. പരിവർത്തനം ചെയ്യുക: js-yaml YAML-നെ ഒരു JavaScript ഒബ്‌ജക്‌റ്റിലേക്ക് പാഴ്‌സ് ചെയ്യുന്നു, കൂടാതെ JSON.stringify അതിനെ ടു-സ്‌പേസ് ഇൻഡൻ്റേഷൻ ഉപയോഗിച്ച് സീരിയലൈസ് ചെയ്യുന്നു. അഭിപ്രായങ്ങൾ ഒഴിവാക്കപ്പെടുകയും ആങ്കറുകൾ പരിഹരിക്കപ്പെടുകയും പ്രത്യേക YAML തരങ്ങൾ (ടൈംസ്റ്റാമ്പുകൾ, ബൈനറി ഡാറ്റ) JSON-അനുയോജ്യമായ പ്രാതിനിധ്യങ്ങളിലേക്ക് പരിവർത്തനം ചെയ്യുകയും ചെയ്യുന്നു.
  3. ഫലം അവലോകനം ചെയ്യുക: JSON ഘടന നിങ്ങൾ പ്രതീക്ഷിച്ചതുമായി പൊരുത്തപ്പെടുന്നുണ്ടെന്ന് സ്ഥിരീകരിക്കുക. YAML-ൻ്റെ അയഞ്ഞ ടൈപ്പിംഗ് അപ്രതീക്ഷിതമായ JSON മൂല്യങ്ങൾ സൃഷ്ടിച്ച ഏതെങ്കിലും സ്ഥലങ്ങൾ കണ്ടെത്താൻ YAML ഉറവിടവുമായി താരതമ്യം ചെയ്യുക.
  4. ഡൗൺലോഡ് ചെയ്യുക അല്ലെങ്കിൽ പകർത്തുക: .json ആയി സംരക്ഷിക്കുക അല്ലെങ്കിൽ ക്ലിപ്പ്ബോർഡിലേക്ക് പകർത്തുക. ഔട്ട്‌പുട്ട് സാധുവായ JSON ആണ്, ഏത് JSON പാഴ്‌സറും ഉപയോഗിക്കാവുന്നതാണ്.

സാധാരണ ഉപയോഗ കേസുകൾ

സാങ്കേതിക വിശദാംശങ്ങൾ

YAML 1.1 ക്വിർക്കുകൾക്കുള്ള ഓപ്‌ഷണൽ പിന്തുണയോടെ js-yaml YAML 1.2 നടപ്പിലാക്കുന്നു ('no'-as-false issue, 0o പ്രിഫിക്‌സ് ഇല്ലാത്ത ഒക്ടൽ നമ്പറുകൾ). നേറ്റീവ് തരങ്ങൾ ഉപയോഗിച്ച് പാഴ്‌സർ ഒരു JavaScript ഒബ്‌ജക്റ്റ് ട്രീ നിർമ്മിക്കുന്നു: നമ്പറുകൾ, സ്ട്രിംഗുകൾ, ബൂളിയൻസ്, നൾ, അറേകൾ, പ്ലെയിൻ ഒബ്‌ജക്‌റ്റുകൾ.

JSON.stringify ഒബ്‌ജക്റ്റ് ട്രീയെ JSON-ലേക്ക് സീരിയലൈസ് ചെയ്യുന്നു. ഓപ്ഷണൽ ഇൻഡൻ്റേഷൻ പ്രെറ്റി-പ്രിൻ്റ് ഔട്ട്പുട്ട് ഉണ്ടാക്കുന്നു; അതില്ലാതെ കോംപാക്റ്റ് സിംഗിൾ-ലൈൻ JSON ആണ് ഫലം. പ്രത്യേക മൂല്യങ്ങൾ (NaN, Infinity, undefined) സാധുവായ JSON അല്ല; കൺവെർട്ടർ നിലവിലുള്ളിടത്ത് അവയെ അസാധുവാക്കാൻ നിർബന്ധിക്കുന്നു.

എഡ്ജ് കേസുകൾ: JSON-ൽ YAML ടൈംസ്റ്റാമ്പുകൾ ISO-8601 സ്ട്രിംഗുകളായി മാറുന്നു. YAML ബൈനറി ഡാറ്റ (base64-എൻകോഡഡ്) ഒരു സ്ട്രിംഗ് ആയി മാറുന്നു. JSON-ന് റഫറൻസ് വാക്യഘടനയില്ലാത്തതിനാൽ ആങ്കറുകളും അപരനാമങ്ങളും JSON-ൽ ഡ്യൂപ്ലിക്കേറ്റ് മൂല്യങ്ങളായി പരിഹരിച്ചിരിക്കുന്നു.

മികച്ച സമ്പ്രദായങ്ങൾ

പതിവ് ചോദ്യങ്ങള്

YAML-നെ JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് ഉള്ളടക്കത്തെ മാറ്റുമോ?
ഉള്ളടക്കം കഴിയുന്നത്ര കൃത്യമായി സംരക്ഷിച്ചിരിക്കുന്നു. എന്നിരുന്നാലും, ചില ഫോർമാറ്റ്-നിർദ്ദിഷ്ട സവിശേഷതകൾക്ക് നേരിട്ടുള്ള തുല്യതകൾ ഉണ്ടാകണമെന്നില്ല, അതിനാൽ ചെറിയ ഫോർമാറ്റിംഗ് വ്യത്യാസങ്ങൾ ഉണ്ടാകാം.
എന്തുകൊണ്ടാണ് ഡാറ്റ JSON ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യുന്നത്?
വെബ് API-കൾക്കും JavaScript ആപ്ലിക്കേഷനുകൾക്കുമുള്ള സ്റ്റാൻഡേർഡ് ഡാറ്റ ഫോർമാറ്റാണ് JSON. ഇത് മനുഷ്യർക്ക് വായിക്കാനാവുന്നതും പ്രോഗ്രാമിംഗ് ഭാഷകൾ വ്യാപകമായി പിന്തുണയ്ക്കുന്നതും XML-നേക്കാൾ ലളിതമായ വാക്യഘടനയുള്ളതുമാണ്.
കൺവെർട്ടർ നെസ്റ്റഡ് അല്ലെങ്കിൽ സങ്കീർണ്ണമായ YAML ഘടനകൾ കൈകാര്യം ചെയ്യുന്നുണ്ടോ?
അതെ. നെസ്റ്റഡ് ഒബ്‌ജക്‌റ്റുകൾ, അറേകൾ, കൂടാതെ എല്ലാ സ്റ്റാൻഡേർഡ് YAML ഡാറ്റാ തരങ്ങളും ടൂൾ ശരിയായി പാഴ്‌സ് ചെയ്യുന്നു, JSON ഔട്ട്‌പുട്ടിൽ മുഴുവൻ ഡാറ്റാ ഘടനയും സംരക്ഷിക്കുന്നു.
ഈ പരിവർത്തനം സുരക്ഷിതവും സ്വകാര്യവുമാണോ?
അതെ. എല്ലാ പ്രോസസ്സിംഗും നിങ്ങളുടെ ബ്രൗസറിൽ പ്രാദേശികമായി നടക്കുന്നു. നിങ്ങളുടെ ഡാറ്റ ഒരിക്കലും നിങ്ങളുടെ ഉപകരണത്തിൽ നിന്ന് പുറത്തുപോകില്ല - സെർവർ അപ്‌ലോഡ് ഇല്ല, ക്ലൗഡ് പ്രോസസ്സിംഗ് ഇല്ല, ഡാറ്റ ശേഖരണമില്ല.
എൻ്റെ YAML വൃത്തിയായി യാത്ര ചെയ്യുമോ?
നിങ്ങൾ JSON തിരികെ YAML-ലേക്ക് വീണ്ടും എമിറ്റ് ചെയ്യുകയാണെങ്കിൽ ഘടനാപരമായി അതെ. അഭിപ്രായങ്ങളും ആങ്കർ ഘടനയും നഷ്ടപ്പെട്ടു; അസംസ്കൃത മൂല്യങ്ങൾ സംരക്ഷിക്കപ്പെടുന്നു.
എൻ്റെ ഡാറ്റ ഒരു സെർവറിലേക്ക് അപ്‌ലോഡ് ചെയ്‌തിട്ടുണ്ടോ?
നമ്പർ js-yaml നിങ്ങളുടെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു.
പരമാവധി വലിപ്പം എന്താണ്?
50 MB വരെ. js-yaml സാധാരണ കോൺഫിഗറേഷൻ ഫയലുകൾ തൽക്ഷണം കൈകാര്യം ചെയ്യുന്നു; വളരെ വലിയ YAML പാഴ്‌സ് ചെയ്യുന്നതിന് ശ്രദ്ധേയമായ സമയമെടുത്തേക്കാം.
ഇത് മൾട്ടി-ഡോക്യുമെൻ്റ് YAML-നെ പിന്തുണയ്ക്കുന്നുണ്ടോ?
--- കൊണ്ട് വേർതിരിച്ച ഒരു ഫയലിൽ ഒന്നിലധികം പ്രമാണങ്ങളെ YAML പിന്തുണയ്ക്കുന്നു. കൺവെർട്ടർ സ്ഥിരസ്ഥിതിയായി ആദ്യ പ്രമാണം പ്രോസസ്സ് ചെയ്യുന്നു; മൾട്ടി-ഡോക്യുമെൻ്റ് കൈകാര്യം ചെയ്യുന്നതിനായി, ആദ്യം YAML വിഭജിക്കുക.