YAML-ലേക്ക് JSON കൺവെർട്ടർ
വേഗതയേറിയതും സുരക്ഷിതവുമായ 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 വാക്യഘടനയും പരിവർത്തനം കൈകാര്യം ചെയ്യുന്നു.
മിക്ക API-കളും നിരവധി പ്രോഗ്രാമിംഗ് പരിതസ്ഥിതികളും JSON പ്രതീക്ഷിക്കുന്നു. കോഡുമായോ JSON മാത്രം സ്വീകരിക്കുന്ന സേവനങ്ങളുമായോ സംയോജിപ്പിക്കുമ്പോൾ YAML-ൽ എഴുതിയ കോൺഫിഗറേഷൻ ഫയലുകൾ JSON-ലേക്ക് പരിവർത്തനം ചെയ്യേണ്ടതുണ്ട്. JSON-നുള്ള ടൂളിംഗും കൂടുതൽ സമൃദ്ധമാണ്: jq, JSON പാത്ത്, JSON സ്കീമ, വാലിഡേറ്ററുകളുടെയും ട്രാൻസ്ഫോർമറുകളുടെയും വിശാലമായ ഇക്കോസിസ്റ്റം എന്നിവയെല്ലാം JSON ഇൻപുട്ട് അനുമാനിക്കുന്നു.
YAML അല്ലാത്ത വിധത്തിലും JSON അവ്യക്തമാണ്. YAML-ൻ്റെ വഴക്കം പാഴ്സിംഗ് സർപ്രൈസുകൾ സൃഷ്ടിക്കുന്നു - YAML 1.1-ൽ ബൂളിയൻ ഫാൾസ് ആയി 'നോ' പാഴ്സിംഗ്, പതിപ്പ് സ്ട്രിംഗുകൾ ഫ്ലോട്ടുകളായി പാഴ്സിംഗ്, നിശബ്ദ ഘടനാപരമായ മാറ്റങ്ങൾ സൃഷ്ടിക്കുന്ന ഇൻഡൻ്റേഷൻ പിശകുകൾ. JSON-ലേക്ക് പരിവർത്തനം ചെയ്യുന്നത് ഡാറ്റയെ അവ്യക്തമായ ഒരു രൂപത്തിലേക്ക് മരവിപ്പിക്കുന്നു.
YAML ഒട്ടിക്കുക, 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-ൽ ഡ്യൂപ്ലിക്കേറ്റ് മൂല്യങ്ങളായി പരിഹരിച്ചിരിക്കുന്നു.