യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ വായനാക്ഷമതയ്ക്കായി JSON ഫോർമാറ്റ് ചെയ്യുന്നു

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ വായനാക്ഷമതയ്ക്കായി JSON ഫോർമാറ്റ് ചെയ്യുന്നു
Shell

യുണിക്സ് ഷെല്ലിൽ JSON റീഡബിൾ ആക്കുന്നു

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ JSON ഡാറ്റയുമായി പ്രവർത്തിക്കുന്നത് അതിൻ്റെ ഒതുക്കമുള്ളതും മെഷീൻ വായിക്കാവുന്നതുമായ ഫോർമാറ്റ് കാരണം പലപ്പോഴും ഒരു വെല്ലുവിളിയാണ്. ഡീബഗ്ഗിംഗിനും മികച്ച ഗ്രാഹ്യത്തിനും വേണ്ടി ഡെവലപ്പർമാർക്ക് ഈ കോംപാക്റ്റ് JSON-നെ കൂടുതൽ മനുഷ്യർക്ക് വായിക്കാവുന്ന ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യേണ്ടതുണ്ട്.

ഈ ലേഖനം Unix ഷെൽ സ്ക്രിപ്റ്റുകളിൽ JSON പ്രെറ്റി-പ്രിൻ്റ് ചെയ്യുന്നതിനുള്ള വ്യത്യസ്ത രീതികൾ പര്യവേക്ഷണം ചെയ്യുന്നു. ഈ ടെക്‌നിക്കുകൾ പിന്തുടർന്ന്, നിങ്ങളുടെ JSON ഡാറ്റ ഒരൊറ്റ വരിയിൽ നിന്ന് വൃത്തിയായി ഫോർമാറ്റ് ചെയ്‌ത ഘടനയിലേക്ക് മാറ്റാനാകും, അത് വായിക്കാനും വിശകലനം ചെയ്യാനും വളരെ എളുപ്പമാണ്.

കമാൻഡ് വിവരണം
jq . JSON ഡാറ്റ പ്രെറ്റി-പ്രിൻ്റ് ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന ഒരു കമാൻഡ്-ലൈൻ JSON പ്രോസസർ.
python3 -m json.tool JSON ഡാറ്റ റീഡബിൾ ഫോർമാറ്റിലേക്ക് ഫോർമാറ്റ് ചെയ്യുന്ന പൈത്തൺ മൊഡ്യൂൾ.
node -e 'process.stdin.pipe(require("bl")((err, data) =>node -e 'process.stdin.pipe(require("bl")((err, data) => {...}))' stdin-ൽ നിന്നുള്ള JSON ഡാറ്റ വായിക്കാനും അത് പ്രെറ്റി പ്രിൻ്റ് ചെയ്യാനും Node.js കമാൻഡ്.
perl -MJSON -e 'print to_json(from_json(<STDIN>), { pretty =>perl -MJSON -e 'print to_json(from_json(<STDIN>), { pretty => 1 })' JSON ഡാറ്റ വായിക്കാനും വായിക്കാനാകുന്ന ഫോമിലേക്ക് ഫോർമാറ്റ് ചെയ്യാനും Perl കമാൻഡ്.
sudo apt-get install jq ഒരു Unix സിസ്റ്റത്തിൽ jq കമാൻഡ്-ലൈൻ JSON പ്രൊസസർ ഇൻസ്റ്റാൾ ചെയ്യുന്നു.
sudo apt-get install python3 JSON ഫോർമാറ്റിംഗിനുള്ള json.tool മൊഡ്യൂൾ ഉൾപ്പെടുന്ന Python3 ഇൻസ്റ്റാൾ ചെയ്യുന്നു.
sudo apt-get install nodejs JSON പ്രോസസ്സിംഗിനായി JavaScript കോഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ ഉപയോഗിക്കാവുന്ന Node.js ഇൻസ്റ്റാൾ ചെയ്യുക.
sudo apt-get install perl JSON മൊഡ്യൂൾ ഉപയോഗിച്ച് JSON പ്രോസസ്സിംഗിനായി ഉപയോഗിക്കാവുന്ന Perl ഇൻസ്റ്റാൾ ചെയ്യുന്നു.

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ JSON പ്രെറ്റി-പ്രിൻറിംഗ് മനസ്സിലാക്കുന്നു

മുകളിലെ ഉദാഹരണങ്ങളിൽ നൽകിയിരിക്കുന്ന സ്ക്രിപ്റ്റുകൾ, JSON ഡാറ്റയെ കോംപാക്റ്റ്, സിംഗിൾ-ലൈൻ ഫോർമാറ്റിൽ നിന്ന് ഭംഗിയായി ഇൻഡൻ്റ് ചെയ്ത ഘടനയിലേക്ക് പരിവർത്തനം ചെയ്യുന്നതിലൂടെ കൂടുതൽ വായിക്കാൻ കഴിയുന്ന തരത്തിലാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. ഈ പ്രക്രിയ "പ്രെറ്റി-പ്രിൻറിംഗ്" എന്നറിയപ്പെടുന്നു, ഇത് ഡീബഗ്ഗിംഗിനും ഡാറ്റ വിശകലനത്തിനും പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാണ്. ആദ്യ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു jq, ഭാരം കുറഞ്ഞതും വഴക്കമുള്ളതുമായ കമാൻഡ്-ലൈൻ JSON പ്രൊസസർ. വഴി JSON ഡാറ്റ പൈപ്പ് ചെയ്യുന്നതിലൂടെ jq കൂടെ കമാൻഡ് . ആർഗ്യുമെൻ്റ്, സ്ക്രിപ്റ്റ് JSON-നെ മനുഷ്യർക്ക് വായിക്കാൻ കഴിയുന്ന രൂപത്തിലേക്ക് ഫോർമാറ്റ് ചെയ്യുന്നു. ഈ ടൂൾ ശക്തവും ഉപയോഗിക്കാൻ എളുപ്പവുമാണ്, ഇത് Unix പരിതസ്ഥിതികളിൽ JSON പ്രോസസ്സിംഗിനുള്ള ഒരു ജനപ്രിയ തിരഞ്ഞെടുപ്പാക്കി മാറ്റുന്നു.

പൈത്തണിൻ്റെ ബിൽറ്റ്-ഇൻ മൊഡ്യൂൾ ഉപയോഗിക്കുന്നതാണ് മറ്റൊരു ഫലപ്രദമായ രീതി json.tool. JSON ഡാറ്റയെ പ്രതിധ്വനിപ്പിക്കുന്നതിലൂടെ പ്രെറ്റി പ്രിൻ്റിംഗ് എങ്ങനെ നേടാമെന്ന് രണ്ടാമത്തെ സ്ക്രിപ്റ്റ് കാണിക്കുന്നു. python3 -m json.tool കമാൻഡ്. ഈ സമീപനം പൈത്തണിൻ്റെ വിപുലമായ ലൈബ്രറികളെ സ്വാധീനിക്കുന്നു, JSON ഫോർമാറ്റിംഗിന് ശക്തമായ ഒരു പരിഹാരം നൽകുന്നു. Node.js സ്ക്രിപ്റ്റ് ജാവാസ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നു process.stdin.pipe കൂടാതെ bl (ബഫർ ലിസ്റ്റ്) മൊഡ്യൂൾ JSON ഡാറ്റ വായിക്കാനും വായിക്കാനാകുന്ന ഫോർമാറ്റിൽ ഔട്ട്പുട്ട് ചെയ്യാനും. ഈ സ്ക്രിപ്റ്റ്, ഭാഷയുടെ ജന്മദേശമായ JSON കൈകാര്യം ചെയ്യുന്നതിനുള്ള ജാവാസ്ക്രിപ്റ്റിൻ്റെ വൈദഗ്ധ്യം എടുത്തുകാണിക്കുന്നു.

പേൾ സ്ക്രിപ്റ്റ് ഉപയോഗിക്കുന്നത് -MJSON JSON പാഴ്‌സ് ചെയ്യാനും പ്രെറ്റി പ്രിൻ്റ് ചെയ്യാനും മൊഡ്യൂൾ. കമാൻഡ് ഉപയോഗിച്ച് പേൾ വഴി JSON ഡാറ്റ പൈപ്പ് ചെയ്യുന്നതിലൂടെ perl -MJSON -e 'print to_json(from_json(<STDIN>), { pretty => 1 })', ഇത് ഡാറ്റയെ വായിക്കാവുന്ന ഘടനയിലേക്ക് മാറ്റുന്നു. ആവശ്യമായ സോഫ്‌റ്റ്‌വെയർ ഇൻസ്‌റ്റാൾ ചെയ്യുന്നത് പോലുള്ള മുൻവ്യവസ്ഥകൾ ഈ സ്‌ക്രിപ്റ്റുകൾക്ക് ഓരോന്നിനും ഉണ്ട്. തുടങ്ങിയ കമാൻഡുകൾ sudo apt-get install jq, sudo apt-get install python3, sudo apt-get install nodejs, ഒപ്പം sudo apt-get install perl ആവശ്യമായ ഉപകരണങ്ങൾ നിങ്ങളുടെ സിസ്റ്റത്തിൽ ലഭ്യമാണെന്ന് ഉറപ്പാക്കുക. ഈ സ്ക്രിപ്റ്റുകളും കമാൻഡുകളും മനസിലാക്കുന്നതിലൂടെ, നിങ്ങൾക്ക് JSON ഡാറ്റ കാര്യക്ഷമമായി ഫോർമാറ്റ് ചെയ്യാനും വായനാക്ഷമത വർദ്ധിപ്പിക്കാനും എളുപ്പമുള്ള ഡാറ്റ കൃത്രിമത്വം സുഗമമാക്കാനും കഴിയും.

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ പ്രെറ്റി പ്രിൻ്റിംഗ് JSON

Unix Shell-ൽ JSON ഫോർമാറ്റിംഗിനായി jq ഉപയോഗിക്കുന്നു

#!/bin/bash
# This script uses jq to pretty-print JSON

json_data='{"foo":"lorem","bar":"ipsum"}'

# Pretty-print the JSON data
echo $json_data | jq .

# To run this script, ensure jq is installed:
# sudo apt-get install jq

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ പൈത്തൺ ഉപയോഗിച്ച് JSON ഫോർമാറ്റ് ചെയ്യുന്നു

JSON പ്രെറ്റി-പ്രിൻ്റിംഗിനായി പൈത്തൺ ഉപയോഗിക്കുന്നു

#!/bin/bash
# This script uses Python to pretty-print JSON

json_data='{"foo":"lorem","bar":"ipsum"}'

# Pretty-print the JSON data using Python
echo $json_data | python3 -m json.tool

# Ensure Python is installed on your system
# sudo apt-get install python3

Unix ഷെൽ സ്ക്രിപ്റ്റുകളിൽ Node.js ഉപയോഗിച്ച് വായിക്കാനാകുന്ന JSON ഔട്ട്പുട്ട്

JSON ഫോർമാറ്റിംഗിനായി Node.js ഉപയോഗിക്കുന്നു

#!/bin/bash
# This script uses Node.js to pretty-print JSON

json_data='{"foo":"lorem","bar":"ipsum"}'

# Pretty-print the JSON data using Node.js
echo $json_data | node -e 'process.stdin.pipe(require("bl")((err, data) => {
console.log(JSON.stringify(JSON.parse(data), null, 2))
}))'

# Ensure Node.js is installed on your system
# sudo apt-get install nodejs

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ പേൾ ഉപയോഗിച്ച് JSON മനോഹരമായി അച്ചടിക്കുന്നു

JSON ഫോർമാറ്റിംഗിനായി പേൾ ഉപയോഗിക്കുന്നു

#!/bin/bash
# This script uses Perl to pretty-print JSON

json_data='{"foo":"lorem","bar":"ipsum"}'

# Pretty-print the JSON data using Perl
echo $json_data | perl -MJSON -e 'print to_json(from_json(<STDIN>), { pretty => 1 })'

# Ensure Perl is installed on your system
# sudo apt-get install perl

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിൽ വലിയ JSON ഫയലുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള സാങ്കേതിക വിദ്യകൾ

വലിയ JSON ഫയലുകളിൽ പ്രവർത്തിക്കുമ്പോൾ, ഡാറ്റയുടെ വർദ്ധിച്ച വലുപ്പവും സങ്കീർണ്ണതയും കാരണം പ്രെറ്റി-പ്രിൻറിംഗ് കൂടുതൽ വെല്ലുവിളി നിറഞ്ഞതാകുന്നു. ഇത് കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു ഫലപ്രദമായ സമീപനം സ്ട്രീമിംഗ് JSON പ്രോസസറുകൾ ഉപയോഗിക്കുക എന്നതാണ്, ഇത് മുഴുവൻ ഫയലും മെമ്മറിയിലേക്ക് ലോഡുചെയ്യുന്നതിനുപകരം JSON ഡാറ്റ കഷണങ്ങളായി വായിക്കുകയും പ്രോസസ്സ് ചെയ്യുകയും ചെയ്യുന്നു. പോലുള്ള ഉപകരണങ്ങൾ jq ഒപ്പം Python പോലുള്ള Unix കമാൻഡുകളുമായി സംയോജിച്ച് ഉപയോഗിക്കാം cat ഒപ്പം grep വലിയ JSON ഫയലുകൾ കാര്യക്ഷമമായി കൈകാര്യം ചെയ്യാൻ. ഉദാഹരണത്തിന്, നിങ്ങൾക്ക് ഉപയോഗിക്കാം jq ഒരു സ്ട്രീമിംഗ് മോഡിൽ, വലിയ JSON ഫയലുകൾ വരി വരിയായി പ്രോസസ്സ് ചെയ്യുന്നു, മെമ്മറി ഉപയോഗം കുറവാണെന്ന് ഉറപ്പാക്കുന്നു.

പരിഗണിക്കേണ്ട മറ്റൊരു പ്രധാന വശം, പോലുള്ള ടൂളുകൾ നൽകുന്ന ഫിൽട്ടറിംഗ്, ട്രാൻസ്ഫോർമേഷൻ കഴിവുകളുടെ ഉപയോഗമാണ് jq. പ്രയോജനപ്പെടുത്തുന്നതിലൂടെ jqൻ്റെ ശക്തമായ അന്വേഷണ ഭാഷ, നിങ്ങൾക്ക് JSON ഡാറ്റയുടെ പ്രത്യേക ഭാഗങ്ങൾ എക്‌സ്‌ട്രാക്റ്റുചെയ്യാനും ആവശ്യാനുസരണം ഫോർമാറ്റ് ചെയ്യാനും കഴിയും. ഒരു വലിയ JSON ഫയലിൻ്റെ ചില ഭാഗങ്ങൾ പ്രെറ്റി-പ്രിൻ്റ് ചെയ്യേണ്ടിവരുമ്പോൾ ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാകും. കൂടാതെ, സംയോജിപ്പിക്കുന്നു jq മറ്റ് Unix യൂട്ടിലിറ്റികൾക്കൊപ്പം awk ഒപ്പം sed JSON ഡാറ്റയുടെ കൂടുതൽ വഴക്കമുള്ളതും കാര്യക്ഷമവുമായ പ്രോസസ്സിംഗ് അനുവദിക്കുന്നു.

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റുകളിലെ പ്രെറ്റി-പ്രിൻ്റിംഗ് JSON-നെക്കുറിച്ചുള്ള പൊതുവായ ചോദ്യങ്ങൾ

  1. എന്താണ് പ്രെറ്റി പ്രിൻ്റിംഗ് JSON?
  2. JSON ഡാറ്റ മനുഷ്യർക്ക് കൂടുതൽ വായിക്കാൻ കഴിയുന്ന തരത്തിൽ ഫോർമാറ്റ് ചെയ്യുന്ന പ്രക്രിയയാണ് പ്രെറ്റി പ്രിൻ്റിംഗ് JSON. ഇത് സാധാരണയായി ഇൻഡൻ്റേഷനും ലൈൻ ബ്രേക്കുകളും ചേർക്കുന്നത് ഉൾപ്പെടുന്നു.
  3. പ്രെറ്റി-പ്രിൻറിംഗ് JSON ഉപയോഗപ്രദമാകുന്നത് എന്തുകൊണ്ട്?
  4. പ്രെറ്റി പ്രിൻ്റിംഗ് JSON JSON ഡാറ്റ വായിക്കുന്നതും ഡീബഗ് ചെയ്യുന്നതും എളുപ്പമാക്കുന്നു, ഡാറ്റയുടെ ഘടനയും ഉള്ളടക്കവും കൂടുതൽ വേഗത്തിൽ മനസ്സിലാക്കാൻ ഡവലപ്പർമാരെ സഹായിക്കുന്നു.
  5. എന്താണ് jq?
  6. jq JSON ഡാറ്റ പാഴ്‌സ് ചെയ്യാനും ഫിൽട്ടർ ചെയ്യാനും ഫോർമാറ്റ് ചെയ്യാനും നിങ്ങളെ അനുവദിക്കുന്ന ഭാരം കുറഞ്ഞതും വഴക്കമുള്ളതുമായ കമാൻഡ്-ലൈൻ JSON പ്രോസസറാണ്.
  7. നിങ്ങൾ എങ്ങനെയാണ് ഇൻസ്റ്റാൾ ചെയ്യുന്നത് jq?
  8. നിങ്ങൾക്ക് ഇൻസ്റ്റാൾ ചെയ്യാം jq കമാൻഡ് ഉപയോഗിച്ച് sudo apt-get install jq ഒരു Unix-അധിഷ്ഠിത സിസ്റ്റത്തിൽ.
  9. എന്താണ് ചെയ്യുന്നത് python3 -m json.tool കമാൻഡ് ചെയ്യണോ?
  10. ദി python3 -m json.tool JSON ഡാറ്റ റീഡബിൾ ഫോമിലേക്ക് ഫോർമാറ്റ് ചെയ്യുന്നതിന് കമാൻഡ് പൈത്തണിൻ്റെ ബിൽറ്റ്-ഇൻ JSON മൊഡ്യൂൾ ഉപയോഗിക്കുന്നു.
  11. Node.js ഉപയോഗിച്ച് നിങ്ങൾക്ക് JSON പ്രിൻ്റ് ചെയ്യാൻ കഴിയുമോ?
  12. അതെ, പോലുള്ള കമാൻഡുകൾ ഉപയോഗിച്ച് JSON പ്രെറ്റി-പ്രിൻ്റ് ചെയ്യാൻ നിങ്ങൾക്ക് Node.js ഉപയോഗിക്കാം node -e 'process.stdin.pipe(require("bl")((err, data) => { console.log(JSON.stringify(JSON.parse(data), null, 2)) }))'.
  13. എന്താണ് ഉദ്ദേശ്യം perl -MJSON -e കൽപ്പന?
  14. ദി perl -MJSON -e JSON ഡാറ്റ പാഴ്‌സ് ചെയ്യാനും ഫോർമാറ്റ് ചെയ്യാനും കമാൻഡ് പേളിൻ്റെ JSON മൊഡ്യൂൾ ഉപയോഗിക്കുന്നു.
  15. വലിയ JSON ഫയലുകൾ എങ്ങനെ കൈകാര്യം ചെയ്യാം?
  16. വലിയ JSON ഫയലുകൾ കൈകാര്യം ചെയ്യാൻ, നിങ്ങൾക്ക് സ്ട്രീമിംഗ് JSON പ്രോസസറുകളും ടൂളുകളും ഉപയോഗിക്കാം jq Unix കമാൻഡുകൾ സംയോജിപ്പിച്ച് ഡാറ്റ കഷണങ്ങളായി പ്രോസസ്സ് ചെയ്യുന്നു.

JSON ഫോർമാറ്റിംഗിനെക്കുറിച്ചുള്ള അന്തിമ ചിന്തകൾ

യുണിക്സ് ഷെൽ സ്ക്രിപ്റ്റിനുള്ളിൽ JSON-നെ റീഡബിൾ ഫോർമാറ്റിലേക്ക് മാറ്റുന്നത് ഡെവലപ്പർമാർക്ക് വിലപ്പെട്ട ഒരു വൈദഗ്ധ്യമാണ്. പോലുള്ള ഉപകരണങ്ങൾ പ്രയോജനപ്പെടുത്തുന്നതിലൂടെ jq, Python, Node.js, ഒപ്പം Perl, നിങ്ങൾക്ക് JSON ഡാറ്റ കാര്യക്ഷമമായി പ്രോസസ്സ് ചെയ്യാനും ഡീബഗ് ചെയ്യാനും കഴിയും. ഓരോ ഉപകരണത്തിനും അതിൻ്റേതായ ശക്തിയുണ്ട്, നിങ്ങളുടെ നിർദ്ദിഷ്ട ആവശ്യങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായത് തിരഞ്ഞെടുക്കുന്നത് സാധ്യമാക്കുന്നു. ശരിയായി ഫോർമാറ്റ് ചെയ്‌ത JSON ഡാറ്റ മനസ്സിലാക്കൽ മെച്ചപ്പെടുത്തുകയും ട്രബിൾഷൂട്ടിംഗ് കാര്യക്ഷമമാക്കുകയും ആത്യന്തികമായി നിങ്ങളുടെ ഡെവലപ്‌മെൻ്റ് വർക്ക്ഫ്ലോ മെച്ചപ്പെടുത്തുകയും ചെയ്യുന്നു.