JSONata എക്സ്പ്രഷൻ ടെസ്റ്റർ
സാങ്കേതിക വിശദാംശങ്ങൾ
JSONata Tester എങ്ങനെ പ്രവർത്തിക്കുന്നു
ഉപകരണം ചെയ്യുന്നത് എന്താണ്
JSONata Tester ഉപയോഗിച്ച് JSON ഡാറ്റയ്ക്കെതിരെ JSONata എക്സ്പ്രഷനുകൾ റിയൽ-ടൈമിൽ എഴുതിയും മൂല്യനിർണയം ചെയ്തും കഴിയും. JSONata JSON-നുള്ള ലഘുഭാരമുള്ള ക്വറി-യും ട്രാൻസ്ഫോർമേഷൻ ഭാഷയുമാണ്; XML-നായി XPath, XSLT എന്നിവ ഉള്ളതുപോലെ. നിങ്ങൾ ടൈപ്പ് ചെയ്യുന്നതിനൊപ്പം തന്നെ ടൂൾ ക്വറി ഫലം ഉടൻ പ്രദർശിപ്പിക്കുന്നതിനാൽ, സങ്കീർണ്ണമായ ഡാറ്റ എക്സ്ട്രാക്ഷൻ/ട്രാൻസ്ഫോർമേഷൻ എക്സ്പ്രഷനുകൾ ഇന്ററാക്ടീവായി വികസിപ്പിക്കാനും ഡീബഗ് ചെയ്യാനും എളുപ്പമാണ്.
ഡെവലപ്പർമാർക്കുള്ള സാധാരണ ഉപയോഗ സാഹചര്യങ്ങൾ
Node-RED ഫ്ലോകൾ, API ഓർക്കസ്ട്രേഷൻ ലെയറുകൾ, അല്ലെങ്കിൽ JSONata നെറ്റീവ് ആയി പിന്തുണയ്ക്കുന്ന സർവർലെസ് ഇന്റഗ്രേഷൻ പ്ലാറ്റ്ഫോമുകൾ എന്നിവയ്ക്കായി ഡാറ്റ ട്രാൻസ്ഫോർമേഷൻ നിയമങ്ങൾ നിർമ്മിക്കുമ്പോൾ ഡെവലപ്പർമാർ JSONata ടെസ്റ്ററുകൾ ഉപയോഗിക്കുന്നു. ആപ്ലിക്കേഷൻ കോഡിൽ ഉൾപ്പെടുത്തുന്നതിന് മുമ്പ് JSON ഡാറ്റ എക്സ്ട്രാക്റ്റ് ചെയ്യാനും ഫിൽറ്റർ ചെയ്യാനും അഗ്രിഗേറ്റ് ചെയ്യാനും പുനഃരൂപപ്പെടുത്താനും ഉള്ള സങ്കീർണ്ണ ക്വറികൾ പ്രോട്ടോടൈപ്പ് ചെയ്യാൻ ഇത് ഉപകാരപ്പെടുന്നു. jq അല്ലെങ്കിൽ JSONPath ന് പകരമായി JSONata വിലയിരുത്തുന്ന ടീമുകൾ പ്രകടനശേഷി താരതമ്യം ചെയ്യാനും സിന്റാക്സ് പഠിക്കാനും ടെസ്റ്റർ ഉപയോഗിക്കുന്നു.
ഡാറ്റ ഫോർമാറ്റുകൾ, തരങ്ങൾ, അല്ലെങ്കിൽ വകഭേദങ്ങൾ
JSONata പാത്ത് നാവിഗേഷൻ (account.orders.product), അറേ ഫിൽറ്ററിംഗ് ([price > 100]), വൈൽഡ്കാർഡ് ഡിസെന്റ് (**.name), സ്ട്രിംഗ് മാനിപ്പുലേഷൻ ($substring, $join), സംഖ്യാത്മക അഗ്രിഗേഷൻ ($sum, $average), കണ്ടീഷണൽ എക്സ്പ്രഷനുകൾ, യൂസർ-ഡിഫൈൻഡ് ഫംഗ്ഷനുകൾ ($myFunc := function), സോർട്ടിംഗ് ($sort), ഗ്രൂപ്പിംഗ്, റെഗെക്സ് മാച്ചിംഗ് എന്നിവ പിന്തുണയ്ക്കുന്നു. JSONPath ന് വിപരീതമായി, JSONata ഡാറ്റ ഘടന ട്രാൻസ്ഫോം ചെയ്യാൻ കഴിയും — നോഡുകൾ തിരഞ്ഞെടുക്കുക മാത്രമല്ല — അതിനാൽ ഇത് ശുദ്ധ ക്വറി ഭാഷയല്ല, പൂർണ്ണമായ ക്വറി-അൻഡ്-ട്രാൻസ്ഫോർം ഭാഷയാണ്.
സാധാരണ പിഴവുകളും എഡ്ജ് കേസുകളും
ഒരു പാത്ത് മാച്ച് ചെയ്യാത്തപ്പോൾ JSONata എറർ നൽകുന്നതിനുപകരം undefined (ഔട്ട്പുട്ടില്ലെന്ന് കാണിക്കും) തിരികെ നൽകുന്നു; ഇത് നിശ്ശബ്ദ പരാജയങ്ങൾ ഡീബഗ് ചെയ്യുന്നത് ബുദ്ധിമുട്ടാക്കാം. JSONataയിലെ അറേ ഓപ്പറേഷനുകൾ സിംഗിൾ-എലമെന്റ് ഫലങ്ങളെ ഓട്ടോ-ഫ്ലാറ്റൻ ചെയ്യുന്നതിനാൽ, അറേ തിരികെ നൽകുമെന്ന് പ്രതീക്ഷിച്ച എക്സ്പ്രഷൻ ഒരു എലമെന്റ് മാത്രം മാച്ച് ചെയ്താൽ സ്കെയ്ലർ തിരികെ നൽകാം. jq അല്ലെങ്കിൽ JSONPath നെക്കാൾ ഈ ഭാഷ കുറച്ച് അറിയപ്പെടുന്നതായതിനാൽ, ടീമംഗങ്ങൾക്ക് സിന്റാക്സ് പരിചയമില്ലെങ്കിൽ മെയിന്റനൻസ് വെല്ലുവിളികൾ ഉണ്ടാകാം.
കോഡിനേക്കാൾ ഈ ഉപകരണം എപ്പോൾ ഉപയോഗിക്കണം
Node-RED, AWS Step Functions, അല്ലെങ്കിൽ കസ്റ്റം APIകൾ പോലുള്ള പ്ലാറ്റ്ഫോമുകളിലേക്ക് ഡിപ്ലോയ് ചെയ്യുന്നതിന് മുമ്പ് JSONata എക്സ്പ്രഷനുകൾ ഇന്ററാക്ടീവായി വികസിപ്പിക്കാനും ടെസ്റ്റ് ചെയ്യാനും ഈ ബ്രൗസർ ടൂൾ ഉപയോഗിക്കുക. പ്രൊഡക്ഷൻ ഉപയോഗത്തിനായി, നിങ്ങളുടെ Node.js ആപ്ലിക്കേഷനിൽ jsonata npm പാക്കേജ് നേരിട്ട് എംബെഡ് ചെയ്യുക; അപ്പോൾ പ്രീ-കമ്പൈലേഷൻ, കാഷിംഗ്, കസ്റ്റം ഫംഗ്ഷൻ രജിസ്ട്രേഷൻ, കൂടാതെ ബ്രൗസർ ടെസ്റ്റിംഗ് എൻവയോൺമെന്റ് നൽകാൻ കഴിയാത്ത ശരിയായ എറർ ഹാൻഡ്ലിംഗ് എന്നിവ ലഭിക്കും.