18Docs

CSV, JSON, YAML അല്ലെങ്കിൽ XML: ഏത് ഉപയോഗിക്കണം?

CSV, JSON, YAML, XML - എല്ലാം സ്ട്രക്ചേർഡ് ഡാറ്റ സ്റ്റോർ ചെയ്യുന്നു, പക്ഷേ അവ ഉണ്ടാക്കിയത് വ്യത്യസ്ത ജോലികൾക്കാണ്. ശരിയായത് തിരഞ്ഞെടുക്കുന്നതും - അവ എങ്ങനെ കൺവേർട്ട് ആകും എന്നറിയുന്നതും - സ്പ്രെഡ്ഷീറ്റുകൾ, കോഡ്, കോൺഫിഗുകൾ, API-കൾ എന്നിവയ്ക്കിടയിൽ ഡാറ്റ നീക്കുമ്പോൾ ധാരാളം ബുദ്ധിമുട്ട് ഒഴിവാക്കും.

ഓരോ ഫോർമാറ്റും എന്തിന് നല്ലതാണ്

CSV ഒരു ഫ്ലാറ്റ് ടേബിൾ ആണ്: വരികളും കോളങ്ങളും, അതിൽ കൂടുതൽ ഒന്നുമില്ല. ഇത് സ്പ്രെഡ്ഷീറ്റുകൾക്കും ടാബുലാർ എക്സ്പോർട്ടുകൾക്കും പെർഫെക്റ്റ് ആണ്, മിക്കവാറും എല്ലാ ടൂളും ഇത് വായിക്കും - പക്ഷേ nesting-ഓ hierarchy-യോ പ്രകടിപ്പിക്കാൻ ഇതിന് പറ്റില്ല. JSON ആണ് API-കളുടെയും മോഡേൺ ആപ്പുകളുടെയും ഭാഷ: കോംപാക്റ്റ്, nested objects-ഉം arrays-ഉം സപ്പോർട്ട് ചെയ്യും, കോഡിന് parse ചെയ്യാൻ എളുപ്പവുമാണ്. YAML ആണ് JSON-ന്റെ കൂടുതൽ human-friendly ബന്ധു, ബ്രാക്കറ്റുകൾക്ക് പകരം ഇൻഡന്റേഷൻ ഉപയോഗിക്കുന്നു, അതുകൊണ്ടാണ് കോൺഫിഗറേഷൻ ഫയലുകളിൽ ഇത് ആധിപത്യം ചെലുത്തുന്നത്. XML ആണ് കൂടുതൽ വാചാലവും ഹൈലി സ്ട്രക്ചേർഡും ആയ മുതിർന്ന ബന്ധു, എന്റർപ്രൈസ് സിസ്റ്റങ്ങളിലും, ഡോക്യുമെന്റ് ഫോർമാറ്റുകളിലും, പഴയ API-കളിലും ഇപ്പോഴും കോമൺ ആണ്.

അവയ്ക്കിടയിൽ ക്ലീൻ ആയി കൺവേർട്ട് ചെയ്യുന്നത്

ഫ്ലാറ്റ് ഡാറ്റ കൺവേർട്ട് ചെയ്യുന്നത് ലളിതമാണ്: ഒരു CSV ടേബിൾ objects-ന്റെ ഒരു JSON array-യിലേക്കോ, YAML-ലേക്കോ, XML റെക്കോർഡുകളിലേക്കോ വൃത്തിയായി മാപ്പ് ചെയ്യും. Nesting-ൽ ആണ് ബുദ്ധിമുട്ട് വരുന്നത് - JSON, YAML, XML എന്നിവയ്ക്ക് കഴിയുന്ന nested structure CSV-ക്ക് പ്രകടിപ്പിക്കാൻ പറ്റില്ല, അതുകൊണ്ട് ആഴത്തിൽ nested ആയ JSON-നെ CSV ആക്കി കൺവേർട്ട് ചെയ്യുന്നത് അത് ഫ്ലാറ്റൻ ചെയ്യുക എന്നാണ്, ഇത് hierarchy നഷ്ടപ്പെടുത്താം. മറ്റേ ദിശയിൽ, CSV-യിൽ നിന്ന് JSON-ലേക്ക്, മിക്കപ്പോഴും ക്ലീൻ ആയിരിക്കും.

കൺവേർട്ട് ചെയ്യുമ്പോൾ, types-ഉം encoding-ഉം ശ്രദ്ധിക്കുക: numbers, booleans, dates എന്നിവ ശരിയായ type ആയി തന്നെ നിലനിൽക്കണം, കോമകളോ സ്പെഷ്യൽ കാരക്ടറുകളോ ഉള്ള ടെക്സ്റ്റിന് ശരിയായ quoting വേണം. ഒരു നല്ല കൺവർട്ടർ ഇത് നിങ്ങൾക്കായി ചെയ്യും, ബ്രൗസറിൽ തന്നെ ഇത് റൺ ചെയ്യുന്നത് - സെൻസിറ്റീവ് ആയേക്കാവുന്ന - ഡാറ്റ ഒരു സെർവറിലും എത്താതെ സൂക്ഷിക്കും.

പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ

എന്റെ nested JSON എന്തുകൊണ്ട് CSV ആയി ക്ലീൻ ആയി കൺവേർട്ട് ആകുന്നില്ല?
CSV ഒരു ഫ്ലാറ്റ് ടേബിൾ ആണ്, nesting പ്രകടിപ്പിക്കാൻ ഇതിന് പറ്റില്ല. Nested JSON കോളങ്ങളിലേക്ക് ഫിറ്റ് ചെയ്യാൻ ഫ്ലാറ്റൻ ചെയ്യേണ്ടി വരും, ഇത് hierarchy-യുടെ കുറച്ച് ഭാഗം നഷ്ടപ്പെടുത്താം.
കോൺഫിഗറേഷൻ ഫയലുകൾക്ക് ഏത് ഫോർമാറ്റ് ആണ് നല്ലത്?
YAML കോൺഫിഗുകൾക്ക് ജനപ്രിയമാണ്, കാരണം ഇതിന്റെ ഇൻഡന്റേഷൻ-ബേസ്ഡ് സ്റ്റൈൽ ആൾക്കാൾക്ക് വായിക്കാനും എഡിറ്റ് ചെയ്യാനും എളുപ്പമാണ്; ടൂളിംഗ് ഇഷ്ടപ്പെടുന്നിടത്ത് JSON-ഉം കോമൺ ആണ്.