TOON ഫോർമാറ്റ് ചീറ്റ് ഷീറ്റ്
JSON വളരെ വാചാലനാണെന്ന് നിങ്ങൾക്ക് എപ്പോഴെങ്കിലും തോന്നിയിട്ടുണ്ടെങ്കിൽ (എല്ലാ ബ്രേസുകളും!) എന്നാൽ YAML അൽപ്പം "മാന്ത്രികവും" പ്രവചനാതീതവുമാണ്, നിങ്ങൾ ടൂണുമായി പ്രണയത്തിലായേക്കാം. ഈ ഫോർമാറ്റ് മനുഷ്യൻ്റെ വായനാക്ഷമതയും മെഷീൻ പാഴ്സിംഗ് വേഗതയും തമ്മിലുള്ള സന്തുലിതാവസ്ഥ കൈവരിക്കുന്നു. ഇത് സാന്ദ്രവും സ്പഷ്ടവും പാഴ്സ് ചെയ്യാൻ അവിശ്വസനീയമാംവിധം വേഗമേറിയതുമാണ്.
നിങ്ങൾ ഡാറ്റ മൈഗ്രേറ്റ് ചെയ്യുകയാണെങ്കിലും അല്ലെങ്കിൽ ഒരു കോൺഫിഗറേഷൻ ഫയൽ ഡീബഗ് ചെയ്യാൻ ശ്രമിക്കുകയാണെങ്കിലും, ഈ ചീറ്റ് ഷീറ്റ് നിങ്ങൾ അറിഞ്ഞിരിക്കേണ്ട അത്യാവശ്യ വാക്യഘടനയെ ഉൾക്കൊള്ളുന്നു.
തത്വശാസ്ത്രം: കുറവ് ശബ്ദം, കൂടുതൽ ഡാറ്റ
നിങ്ങൾ ആദ്യം ശ്രദ്ധിക്കുന്ന കാര്യം, TOON കാഴ്ചയിൽ YAML പോലെയാണ്, പക്ഷേ അത് JSON പോലെയാണ് പ്രവർത്തിക്കുന്നത്. ഇത് ഇൻഡൻ്റേഷനും ന്യൂലൈനുകൾക്കും അനുകൂലമായി ഓപ്പണിംഗ്, ക്ലോസിംഗ് ബ്രേസുകളെ ഒഴിവാക്കുന്നു, ഇത് നിങ്ങളുടെ ഡാറ്റ ഉടനടി വൃത്തിയുള്ളതായി കാണപ്പെടും.
വസ്തുക്കളും കൂടുകളും
JSON-ൽ, നിങ്ങൾ എല്ലാം ചുരുണ്ട ബ്രേസുകളിൽ പൊതിയുന്നത് പതിവാണ്. TOON-ൽ, ഇൻഡൻ്റേഷൻ വഴിയാണ് ഘടന സൂചിപ്പിക്കുന്നത്.
ജെസൺ:
{
"പ്രോജക്റ്റ്": {
"മെറ്റാഡാറ്റ": {
"പേര്": "ആൽഫ-സെൻ്റൗറി",
"സ്ഥിതി": "സജീവ"
},
"നാഴികക്കല്ലുകൾ": [
{
"ഘട്ടം": "ഡിസൈൻ",
"മുൻഗണന": 1
},
{
"ഘട്ടം": "ടെസ്റ്റിംഗ്",
"മുൻഗണന": 2
}
]
}
}
ടൂൺ:
പദ്ധതി:
മെറ്റാഡാറ്റ:
പേര്: ആൽഫ-സെൻ്റൗറി
നില: സജീവം
നാഴികക്കല്ലുകൾ[2]{ഘട്ടം, മുൻഗണന}:
ഡിസൈൻ, 1
പരിശോധന, 2
പ്രത്യേക പ്രതീകങ്ങൾ അടങ്ങിയിട്ടില്ലെങ്കിൽ കീകൾക്ക് ഉദ്ധരണികൾ ആവശ്യമില്ലെന്ന് ശ്രദ്ധിക്കുക, കൂടാതെ ശ്രേണി ദൃശ്യപരമായി വ്യക്തമാണ്.
അണികളുടെ ശക്തി
ഇവിടെയാണ് TOON മറ്റ് ഫോർമാറ്റുകളിൽ നിന്ന് വ്യതിചലിക്കുന്നത്. കീയിൽ തന്നെ അറേയുടെ ദൈർഘ്യം പ്രഖ്യാപിക്കാൻ TOON ആവശ്യപ്പെടുന്നു. ഇത് ആദ്യം വിചിത്രമായി തോന്നിയേക്കാം, എന്നാൽ ഇത് പാഴ്സറിനെ മെമ്മറി മുൻകൂട്ടി അനുവദിക്കാൻ അനുവദിക്കുന്നു, ഇത് അത് വേഗത്തിലാക്കുന്നു.
പ്രാകൃത അറേകൾ
സ്ട്രിംഗുകളുടെയോ അക്കങ്ങളുടെയോ ലളിതമായ ലിസ്റ്റുകൾക്കായി, TOON ഒരു കോംപാക്റ്റ്, കോമ കൊണ്ട് വേർതിരിച്ച വാക്യഘടന ഉപയോഗിക്കുന്നു.
** വാക്യഘടന:**
കീ[നീളം]:ഇനം1,ഇനം2,ഇനം3
നിങ്ങൾക്ക് ഒരു റൂട്ട് അറേ ഉണ്ടെങ്കിൽ (മുഴുവൻ ഫയലും ഒരു ലിസ്റ്റ് മാത്രമാണ്), അത് ഇതുപോലെ കാണപ്പെടുന്നു:
ടാബുലാർ അറേകൾ (ദി കില്ലർ ഫീച്ചർ)
ഇത് സാധാരണയായി ഡെവലപ്പർമാരെ വിജയിപ്പിക്കുന്ന സവിശേഷതയാണ്. ഒരേ കീകൾ (ഡാറ്റാബേസിലെ വരികൾ പോലെ) പങ്കിടുന്ന ഒബ്ജക്റ്റുകളുടെ ഒരു നിര നിങ്ങൾക്കുണ്ടെങ്കിൽ, തലക്കെട്ടിൽ once സ്കീമ നിർവചിക്കാനും മൂല്യങ്ങൾ ലിസ്റ്റ് ചെയ്യാനും TOON നിങ്ങളെ അനുവദിക്കുന്നു. ഇത് JSON-ൽ കണ്ടെത്തിയ വൻതോതിലുള്ള ആവർത്തനത്തെ നീക്കം ചെയ്യുന്നു.
** വാക്യഘടന:**
കീ[വരികൾ]{col1,col2}:
ജെസൺ:
{
"ഇൻവെൻ്ററി": [
{
"sku": "KB-99",
"qty": 50,
"ഇടനാഴി": 4,
"പുനഃക്രമീകരിക്കുക": തെറ്റ്
},
{
"sku": "MS-12",
"qty": 12,
"ഇടനാഴി": 7,
"പുനഃക്രമീകരിക്കുക": സത്യം
},
{
"sku": "MN-44",
"qty": 8,
"ഇടനാഴി": 2,
"പുനഃക്രമീകരിക്കുക": സത്യം
}
]
}
ടൂൺ:
ഇൻവെൻ്ററി[3]{sku,qty, ഇടനാഴി, പുനഃക്രമീകരിക്കുക}:
KB-99,50,4, തെറ്റ്
MS-12,12,7,ശരി
MN-44,8,2, ശരിയാണ്
ഈ "CSV-inside-YAML" സമീപനം വലിയ ഡാറ്റാസെറ്റുകളെ അവിശ്വസനീയമാം വിധം വായിക്കാവുന്നതും ഒതുക്കമുള്ളതുമാക്കുന്നു.
മിക്സഡ്, നെസ്റ്റഡ് അറേകൾ
ചിലപ്പോൾ ഡാറ്റ ഏകീകൃതമല്ല. നിങ്ങളുടെ അറേയിൽ വ്യത്യസ്ത തരം ഡാറ്റ (ഒബ്ജക്റ്റുകളുമായി കലർന്ന സംഖ്യകൾ) അടങ്ങിയിരിക്കുന്നുവെങ്കിൽ, അല്ലെങ്കിൽ അതിൽ സങ്കീർണ്ണമായ നെസ്റ്റഡ് ഒബ്ജക്റ്റുകൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, TOON ഹൈഫനുകൾ ഉപയോഗിച്ച് ബുള്ളറ്റ്-പോയിൻ്റ് ശൈലിയിലുള്ള വാക്യഘടനയിലേക്ക് മടങ്ങും.
നിങ്ങൾക്ക് അറേകൾക്കുള്ളിൽ അറേകൾ പോലും ഉണ്ടാകാം. അകത്തെ അറേ അതിൻ്റെ ദൈർഘ്യം എങ്ങനെ പ്രഖ്യാപിക്കുന്നുവെന്ന് ശ്രദ്ധിക്കുക:
ഉദ്ധരണി: എപ്പോൾ ഉപയോഗിക്കണം
TOON നെക്കുറിച്ചുള്ള ഏറ്റവും നല്ല കാര്യങ്ങളിലൊന്ന്, നിങ്ങൾക്ക് വളരെ അപൂർവമായി മാത്രമേ ഉദ്ധരണികൾ ആവശ്യമുള്ളൂ എന്നതാണ്. "" എന്നതിൽ പൊതിയാതെ നിങ്ങൾക്ക് ഹലോ 世界 👋 എന്ന് എഴുതാം. എന്നിരുന്നാലും, തരങ്ങൾ (നമ്പറുകൾ, ബൂളിയൻസ്) അനുമാനിക്കാൻ TOON ശ്രമിക്കുന്നതിനാൽ, നിങ്ങൾ എപ്പോൾ ഉദ്ധരണികൾ ഉപയോഗിക്കണം** എന്നതിന് പ്രത്യേക നിയമങ്ങളുണ്ട്.
"നിർബന്ധമായും ഉദ്ധരിക്കേണ്ട" ലിസ്റ്റ്
ഇനിപ്പറയുന്നവയാണെങ്കിൽ നിങ്ങളുടെ സ്ട്രിംഗ് ഇരട്ട ഉദ്ധരണികളിൽ "" പൊതിയണം:
- ഇത് ഒരു സംഖ്യയോ ബൂളിയനോ പോലെ തോന്നുന്നു: നിങ്ങൾക്ക്
"123"അല്ലെങ്കിൽ"ട്രൂ"എന്ന സ്ട്രിംഗ് വേണമെങ്കിൽ, അത് ഉദ്ധരിക്കുക. അല്ലെങ്കിൽ, അവ123എന്ന സംഖ്യയും ബൂളിയൻട്രൂആയും മാറുന്നു.
- ഇതിൽ ഡിലിമിറ്ററുകൾ അടങ്ങിയിരിക്കുന്നു: നിങ്ങളുടെ സ്ട്രിങ്ങിന് കോമ
,(അല്ലെങ്കിൽ നിങ്ങളുടെ സജീവ ഡിലിമിറ്റർ ഏതായാലും) ഉണ്ടെങ്കിൽ അത് ഉദ്ധരിക്കുക.
- ഇതിന് വൈറ്റ്സ്പെയ്സ് അരികുകൾ ഉണ്ട്: ലീഡിംഗ് അല്ലെങ്കിൽ ട്രെയിലിംഗ് സ്പെയ്സിന് ഉദ്ധരണികൾ ആവശ്യമാണ്.
- ഇതിൽ പ്രത്യേക പ്രതീകങ്ങൾ അടങ്ങിയിരിക്കുന്നു:
:,",\,[,],{,}തുടങ്ങിയ പ്രതീകങ്ങൾ.
- ഇത് ശൂന്യമാണ്: ഒരു ശൂന്യമായ സ്ട്രിംഗിനെ
""എന്ന് പ്രതിനിധീകരിക്കുന്നു.
ഉദാഹരണങ്ങൾ:
എസ്കേപ്പ് സീക്വൻസുകൾ
ലളിതമായി സൂക്ഷിക്കുക. സ്ട്രിംഗുകൾക്കുള്ളിൽ അഞ്ച് എസ്കേപ്പ് സീക്വൻസുകൾ മാത്രമേ TOON തിരിച്ചറിയൂ. മറ്റെന്തെങ്കിലും അസാധുവാണ്.
\\(ബാക്ക്സ്ലാഷ്)
\"(ഇരട്ട ഉദ്ധരണി)
\n(പുതിയ ലൈൻ)
\r(വണ്ടി മടക്കം)
\t(ടാബ്)
വിപുലമായ തലക്കെട്ടുകളും ഡിലിമിറ്ററുകളും
നിങ്ങളുടെ ഡാറ്റ കോമകൾ നിറഞ്ഞതാണെങ്കിൽ എന്തുചെയ്യും? ഓരോ ഫീൽഡും ഉദ്ധരിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നില്ല. അറേ ഹെഡറിലെ ഡിലിമിറ്റർ മാറ്റാൻ TOON നിങ്ങളെ അനുവദിക്കുന്നു.
ബ്രാക്കറ്റുകൾക്കോ ബ്രേസുകൾക്കോ ഉള്ളിൽ സ്ഥാപിച്ച് നിങ്ങൾക്ക് ടാബ് അല്ലെങ്കിൽ പൈപ്പ് (|) ഉപയോഗിക്കാം.
പൈപ്പ് ഡിലിമിറ്റർ ഉദാഹരണം:
തലക്കെട്ടിൽ | ചേർക്കുന്നതിലൂടെ, നിങ്ങളുടെ വാക്യഘടന വൃത്തിയായി സൂക്ഷിക്കുന്നതിലൂടെ കോമകൾക്ക് പകരം പൈപ്പുകൾ തിരയാൻ പാർസറിന് അറിയാം.
കീ ഫോൾഡിംഗ്
നിങ്ങൾക്ക് ആഴത്തിലുള്ള നെസ്റ്റിംഗ് ഉണ്ടെങ്കിലും ഡാറ്റയുടെ ഒരു പാത മാത്രമേ ഉള്ളൂവെങ്കിൽ, നിങ്ങൾ അഞ്ച് തവണ ഇൻഡൻ്റ് ചെയ്യേണ്ടതില്ല. നിങ്ങളുടെ ഘടന പരത്താൻ നിങ്ങൾക്ക് ഡോട്ട് നൊട്ടേഷൻ (കീ ഫോൾഡിംഗ്) ഉപയോഗിക്കാം.
** സ്റ്റാൻഡേർഡ് നെസ്റ്റിംഗ്:**
ഉപയോക്താവ്:
പ്രൊഫൈൽ:
ക്രമീകരണങ്ങൾ:
അറിയിപ്പുകൾ:
ഇമെയിൽ: സത്യം
എസ്എംഎസ്: തെറ്റ്
** മടക്കിയ (ക്ലീനർ):**
user.profile.settings.notifications:
ഇമെയിൽ: സത്യം
എസ്എംഎസ്: തെറ്റ്
ദ്രുത തരം റഫറൻസ്
TOON നേരിട്ട് JSON തരങ്ങളിലേക്ക് മാപ്പ് ചെയ്യുന്നു, എന്നാൽ സാധുവായ ഔട്ട്പുട്ട് ഉറപ്പാക്കാൻ ഇത് JavaScript-നിർദ്ദിഷ്ട എഡ്ജ് കേസുകൾ ഭംഗിയായി കൈകാര്യം ചെയ്യുന്നു.
- സംഖ്യകൾ: കാനോനിക്കൽ ദശാംശങ്ങളായി സംഭരിച്ചിരിക്കുന്നു.
1.0എന്നത്1ആയി മാറുന്നു.
- ഇൻഫിനിറ്റി / NaN: ഇവ
നൾആയി മാറുന്നു (JSON അവയെ പിന്തുണയ്ക്കാത്തതിനാൽ).
- തീയതികൾ: ഉദ്ധരിച്ച ISO സ്ട്രിംഗുകളിലേക്ക് പരിവർത്തനം ചെയ്തു.
- ** നിർവചിക്കാത്തത്/പ്രവർത്തനങ്ങൾ:**
നൾആയി പരിവർത്തനം ചെയ്തു.
- ശൂന്യമായ വസ്തുക്കൾ: ഒന്നുമില്ല (ശൂന്യമായ ഔട്ട്പുട്ട്) പ്രതിനിധീകരിക്കുന്നു.
- ശൂന്യമായ അറേകൾ:
കീ[0]:ആയി പ്രതിനിധീകരിക്കുന്നു.
കൃത്യതയ്ക്ക് പ്രതിഫലം നൽകുന്ന ഒരു ഫോർമാറ്റാണ് TOON. നിങ്ങളുടെ അറേ ഇനങ്ങൾ എണ്ണുന്നത് ശീലമാക്കാൻ കുറച്ച് സമയമെടുത്തേക്കാം, എന്നാൽ വായനാക്ഷമതയിലും ഫയൽ വലുപ്പത്തിലും ഉള്ള പ്രതിഫലം പരിശ്രമത്തിന് അർഹമാണ്. സന്തോഷകരമായ കോഡിംഗ്!