JSONPath ടെസ്റ്റർ ഉപയോഗിച്ചുള്ള ഡാറ്റാ വിശകലനം
ഒരു JSON ഡാറ്റാ ഘടനയിൽ നിന്ന് ആവശ്യമായ വിവരങ്ങൾ കൃത്യമായി വേർതിരിച്ചെടുക്കാൻ സഹായിക്കുന്ന ഒരു പ്രായോഗിക ടൂളാണ് JSONPath ടെസ്റ്റർ. API ഡെവലപ്പർമാർ, ടെസ്റ്റർമാർ, ഡാറ്റാ എഞ്ചിനീയർമാർ, സപ്പോർട്ട് പേഴ്സണൽ എന്നിവർക്ക് തങ്ങളുടെ JSONPath എക്സ്പ്രഷനുകൾ തത്സമയം പരിശോധിച്ച് ഉറപ്പുവരുത്താൻ ഈ ടൂൾ ഉപയോഗിക്കാം. ഇൻപുട്ടായി നൽകുന്ന JSON ഡാറ്റയിലേക്ക് ഒരു JSONPath എക്സ്പ്രഷൻ പ്രയോഗിക്കുമ്പോൾ, അത് ആ എക്സ്പ്രഷനുമായി പൊരുത്തപ്പെടുന്ന മൂല്യങ്ങളും ഒപ്പം യഥാർത്ഥ JSON-ൽ അവ സ്ഥിതി ചെയ്യുന്ന പാത്തുകളും കൃത്യമായി കാണിച്ചുതരുന്നു.
ഈ ടൂളിന്റെ പ്രധാന സവിശേഷത ഇത് പൂർണ്ണമായും ഉപയോക്താവിന്റെ ബ്രൗസറിലാണ് പ്രവർത്തിക്കുന്നത് എന്നതാണ്. നിങ്ങളുടെ JSON-ഉം JSONPath-ഉം ബ്രൗസറിലാണ് പരിശോധിക്കുന്നത്. BroBroGo-ലേക്ക് ഒന്നും അപ്ലോഡ് ചെയ്യപ്പെടുന്നില്ല.
ഇൻപുട്ട് പരിധികളും നിയന്ത്രണങ്ങളും
JSONPath ടെസ്റ്റർ കൃത്യമായ ചില ഇൻപുട്ട് പരിധികൾ നിശ്ചയിച്ചിട്ടുണ്ട്. ഇത് ടൂളിന്റെ സുഗമമായ പ്രവർത്തനത്തെ സഹായിക്കുന്നു:
- JSON ഇൻപുട്ട്: ഉപയോക്താവിന് ടെക്സ്റ്റ് ഏരിയയിലേക്ക് JSON ഡാറ്റ പേസ്റ്റ് ചെയ്യാവുന്നതാണ്. ഇതിൽ പരമാവധി അനുവദനീയമായ ദൈർഘ്യം 500,000 അക്ഷരങ്ങൾ ആണ്.
- JSONPath എക്സ്പ്രഷൻ: പരിശോധിക്കേണ്ട എക്സ്പ്രഷൻ നൽകാനുള്ള ഫീൽഡാണിത്. ഇതിൽ പരമാവധി 4,000 അക്ഷരങ്ങൾ വരെ മാത്രമേ അനുവദിക്കുകയുള്ളൂ.
ഈ പരിധികൾ ലംഘിക്കപ്പെടുകയോ തെറ്റായ ഡാറ്റ നൽകുകയോ ചെയ്താൽ സിസ്റ്റം കൃത്യമായ പിശക് സന്ദേശങ്ങൾ കാണിക്കും.
JSONPath സിന്റാക്സും പൊതുവായ പാറ്റേണുകളും
JSON ഡാറ്റയിലെ സങ്കീർണ്ണമായ ഘടനകളിൽ നിന്ന് വിവരങ്ങൾ കണ്ടെത്താൻ വിവിധ തരത്തിലുള്ള JSONPath പാറ്റേണുകൾ ഈ ടൂൾ പിന്തുണയ്ക്കുന്നു. പ്രധാനപ്പെട്ട ചില പാറ്റേണുകൾ താഴെ പറയുന്നവയാണ്:
-
റിക്കർഷീവ് ഡിസെന്റ് (Recursive Descent): വളരെ ആഴത്തിൽ കിടക്കുന്ന നെസ്റ്റഡ് ഒബ്ജക്റ്റുകളിൽ നിന്ന് വിവരങ്ങൾ കണ്ടെത്താൻ ഇത് സഹായിക്കുന്നു. ഉദാഹരണത്തിന്,
$..priceഎന്ന എക്സ്പ്രഷൻ ഉപയോഗിച്ചാൽ JSON ഘടനയിൽ എവിടെയൊക്കെpriceഎന്ന കീ ഉണ്ടോ, അവയെല്ലാം കണ്ടെത്താൻ സാധിക്കും. -
ഫിൽട്ടറുകൾ (Filters): നിശ്ചിത നിബന്ധനകൾക്ക് വിധേയമായി ഡാറ്റ തിരഞ്ഞെടുക്കാൻ ഫിൽട്ടറുകൾ ഉപയോഗിക്കാം. ഉദാഹരണത്തിന്,
[?@.price < 10]എന്ന ഫിൽട്ടർ ഉപയോഗിച്ച് വില 10-ൽ താഴെയുള്ള ഇനങ്ങൾ മാത്രം വേർതിരിച്ചെടുക്കാം. -
അറേ സ്ലൈസുകൾ (Array Slices): ഒരു അറേയിലെ നിർദ്ദിഷ്ട ഇൻഡക്സുകളിലുള്ള മൂല്യങ്ങൾ മാത്രം തിരഞ്ഞെടുക്കാൻ അറേ സ്ലൈസിംഗ് പാറ്റേണുകൾ സഹായിക്കുന്നു.
പിശക് സന്ദേശങ്ങളും അവയുടെ കാരണങ്ങളും
ഉപയോക്താവ് നൽകുന്ന ഇൻപുട്ടുകളിലോ എക്സ്പ്രഷനുകളിലോ എന്തെങ്കിലും തകരാറുകൾ ഉണ്ടായാൽ താഴെ പറയുന്ന പിശക് സന്ദേശങ്ങൾ ടൂൾ പ്രദർശിപ്പിക്കും:
- ഈ JSON സാധുതയുള്ളതല്ല. - നൽകിയിരിക്കുന്ന JSON ഡാറ്റയുടെ ഫോർമാറ്റ് തെറ്റാണെങ്കിൽ ഈ സന്ദേശം കാണിക്കുന്നു.
- ഈ JSONPath എക്സ്പ്രഷൻ സാധുതയുള്ളതല്ല. - നൽകിയ JSONPath എക്സ്പ്രഷന്റെ സിന്റാക്സ് തെറ്റാകുമ്പോൾ ഇത് ദൃശ്യമാകും.
- ഈ JSONPath വിശകലനം ചെയ്യാൻ കഴിഞ്ഞില്ല. - എക്സ്പ്രഷൻ റൺ ചെയ്യാൻ സാധിക്കാതെ വരുമ്പോൾ ഈ പിശക് കാണിക്കുന്നു.
- ഈ JSONPath പ്രവർത്തിക്കാൻ കൂടുതൽ സമയമെടുത്തു. എക്സ്പ്രഷൻ ചുരുക്കുക അല്ലെങ്കിൽ ചെറിയ മാതൃക ഉപയോഗിക്കുക. - എക്സ്പ്രഷൻ റൺ ചെയ്യാൻ നിശ്ചിത സമയ പരിധി കവിയുമ്പോൾ ഈ സന്ദേശം ലഭിക്കും.
- ഈ JSON ഇവിടെ പരിശോധിക്കാൻ വളരെ വലുതാണ്. ചെറിയ മാതൃക ഉപയോഗിച്ച് ശ്രമിക്കുക. - JSON ഇൻപുട്ട് 500,000 അക്ഷരങ്ങളിൽ കൂടുതലാകുമ്പോൾ ഈ മുന്നറിയിപ്പ് കാണിക്കുന്നു.
- ഈ JSONPath എക്സ്പ്രഷൻ ഇവിടെ പരിശോധിക്കാൻ വളരെ വലുതാണ്. - എക്സ്പ്രഷൻ ഫീൽഡിലെ അക്ഷരങ്ങൾ 4,000 പരിധി കടക്കുമ്പോൾ ഈ സന്ദേശം കാണിക്കുന്നു.
ഫലങ്ങളുടെ ക്രമീകരണവും ഔട്ട്പുട്ടും
JSONPath വിജയകരമായി റൺ ചെയ്തുകഴിഞ്ഞാൽ താഴെ പറയുന്ന രീതിയിലാണ് ഫലങ്ങൾ ക്രമീകരിക്കുന്നത്:
- പൊരുത്തങ്ങൾ:
{count}- കണ്ടെത്തിയ ആകെ പൊരുത്തങ്ങളുടെ എണ്ണം കാണിക്കുന്നു. - ആദ്യത്തെ
{max}എണ്ണം കാണിക്കുന്നു. - ഈ ടൂൾ പരമാവധി 200 ഫലങ്ങൾ മാത്രമേ ഒരേസമയം പ്രദർശിപ്പിക്കുകയുള്ളൂ. അതിൽ കൂടുതൽ പൊരുത്തങ്ങൾ ഉണ്ടെങ്കിൽ "പൊരുത്തങ്ങൾ: 200+" എന്നും ഒപ്പം ഈ സന്ദേശവും കാണിക്കും. - വിശദാംശങ്ങൾ - പൊരുത്തപ്പെടുന്ന ഓരോ മൂല്യത്തിന്റെയും വിശദമായ വിവരങ്ങൾ നൽകുന്ന ഹെഡിംഗ്.
- ഓരോ ഫലത്തോടുമൊപ്പം സോഴ്സ് JSON-ൽ ആ മൂല്യം എവിടെ നിന്നാണ് വന്നതെന്ന് വ്യക്തമാക്കുന്ന പാത്തും ഉണ്ടായിരിക്കും. ഇത് യഥാർത്ഥ സ്ഥാനം നഷ്ടപ്പെടാതെ മൂല്യങ്ങൾ കോപ്പി ചെയ്യാൻ സഹായിക്കുന്നു.
- ഇൻപുട്ടുകൾ ക്ലിയർ ചെയ്യുമ്പോൾ വ്യത്തിയാക്കി. എന്ന സന്ദേശം കാണിക്കും. പൊരുത്തങ്ങൾ ഒന്നും കണ്ടെത്തിയില്ലെങ്കിൽ പൊരുത്തങ്ങളൊന്നുമില്ല. എന്ന് കാണിക്കും.
പതിവായി ചോദിക്കുന്ന ചോദ്യങ്ങൾ (FAQ)
എനിക്ക് ഏത് തരം JSONPath സിന്റാക്സ് ഉപയോഗിക്കാം?
$.store.book[*].title പോലെയുള്ള പൊതുവായ JSONPath പാറ്റേണുകൾ, $..price ഉപയോഗിച്ചുള്ള റിക്കർഷീവ് ഡിസെന്റ്, [?@.price < 10] പോലെയുള്ള ഫിൽട്ടറുകൾ, അറേ സ്ലൈസുകൾ എന്നിവ ഉപയോഗിക്കുക.
എന്തുകൊണ്ടാണ് ഓരോ ഫലവും ഒരു പാത്ത് കാണിക്കുന്നത്?
സോഴ്സ് JSON-ൽ ആ മൂല്യം എവിടെ നിന്നാണ് വന്നതെന്ന് പാത്ത് കാണിക്കുന്നു, അതിനാൽ അതിന്റെ സ്ഥാനം നഷ്ടപ്പെടാതെ നിങ്ങൾക്ക് പൊരുത്തം കോപ്പി ചെയ്യാം.
ഒരു ക്വറി ടൈം ഔട്ട് ആകുന്നത് എന്തുകൊണ്ടാണ്?
വളരെ വിപുലമായ റിക്കർഷീവ് ക്വറികളോ വലിയ മാതൃകകളോ കൂടുതൽ സമയമെടുത്തേക്കാം. നിങ്ങൾക്ക് എക്സ്പ്രഷൻ ചുരുക്കാനോ ചെറിയ മാതൃക ഉപയോഗിക്കാനോ വേണ്ടി ടെസ്റ്റർ ഒരു ചെറിയ സമയപരിധിക്ക് ശേഷം അവ നിർത്തുന്നു.
JSON-നും JSONPath എക്സ്പ്രഷനും എന്ത് വലുപ്പ പരിധിയാണുള്ളത്?
JSON ഇൻപുട്ട് പരമാവധി 500,000 അക്ഷരങ്ങൾ വരെയും JSONPath എക്സ്പ്രഷൻ പരമാവധി 4,000 അക്ഷരങ്ങൾ വരെയും ആകാം. ഇതിൽ കൂടുതലായാൽ ഈ JSON ഇവിടെ പരിശോധിക്കാൻ വളരെ വലുതാണ്. ചെറിയ മാതൃക ഉപയോഗിച്ച് ശ്രമിക്കുക. എന്നോ ഈ JSONPath എക്സ്പ്രഷൻ ഇവിടെ പരിശോധിക്കാൻ വളരെ വലുതാണ്. എന്നോ ഉള്ള സന്ദേശം കാണിക്കുകയും ആ ഇൻപുട്ട് പരിശോധിക്കാതിരിക്കുകയും ചെയ്യും.
ഈ ടൂളിലേക്ക് നൽകുന്ന ഡാറ്റ സുരക്ഷിതമാണോ?
നിങ്ങളുടെ JSON-ഉം JSONPath-ഉം ബ്രൗസറിലാണ് പരിശോധിക്കുന്നത്. BroBroGo-ലേക്ക് ഒന്നും അപ്ലോഡ് ചെയ്യപ്പെടുന്നില്ല.