30 روز با Node - روز نوزدهم: ماژول رشته ی کوئری (Query String) در نود جی اس

03 شهریور 1397
query-string-nodejs

رشته کوئری

رشته ای است که در URL و هنگام به کار بردن متد GET در HTTP به کار می بریم.

ماژول رشته کوئری (Query String)

این ماژول در نود جی اس تسهیلاتی برای تجزیه و قالب بندی رشته کوئری در URL فراهم می کند. همچنین متدهایی برای تبدیل JSON به رشته کوئری و برعکس ارائه می دهد. برای استفاده از این ماژول در نود جی اس، با کد زیر آن را در اپلیکیشن خود require کنید:
var qs = require('querystring');

متدهایی در رشته کوئری (Query String)

  1. querystring.parse(str, sep**, eq**, options**): این متد یک رشته کوئری مربوط به یک URL را تجزیه می کند و به فرم JSON به شکل مجموعه ای از کلیدها و مقادیر ارائه می دهد. توجه: مقادیر اختیاری، با دوستاره (**) مشخص شده اند.
//Name of the File : qs-parse.js
var qs = require('querystring'); 

var value_json = qs.parse('id=1&name=rj&name=njsera&tutorial=30daysofnode&creator=nodejsera')
console.log(value_json);  

var value_json_2 = qs.parse('id%2&name%reij&name%njsera2&tutorial%30daysofnode&creator%nodejsera','&','%');
console.log("Changing the default 'eq' from '=' to '%'. An example is shown below:");
console.log(value_json_2); 

var value_json_3 = qs.parse('id%3#name%emily#name%njsera3#tutorial%30daysofnode#creator%nodejsera','#','%');
console.log("Changing the default Separator 'sep' from '&' to '#'. An example is shown below:")
console.log(value_json_3);

اجرا و خروجی قطعه کد فوق به شرح زیر است:

>node qs-parse.js
{ id: '1',
  name: [ 'rj', 'njsera' ],
  tutorial: '30daysofnode',
  creator: 'nodejsera' }
Changing the default 'eq' from '=' to '%'. An example is shown below:
{ id: '2',
  name: [ 'reij', 'njsera2' ],
  tutorial: '30daysofnode',
  creator: 'nodejsera' }
Changing the default Separator 'sep' from '&' to '#'. An example is shown below:
{ id: '3',
  name: [ 'emily', 'njsera3' ],
  tutorial: '30daysofnode',
  creator: 'nodejsera' }

2. متد querystring.stringify(obg, ep**, eq**, options**): این متد از یک مجموعه کلید و مقدار به فرم JSON، یک رشته کوئری برای URL می سازد. توجه: مقادیر اختیاری، با دوستاره (**) مشخص شده اند.

//Name of the File : qs.stringify.js
var qs = require('querystring'); 

var value_json = qs.stringify({ id: 1, name: ['abc', 'njera'], tutorial: '30days of node', creator : 'nodejsera' });
console.log(value_json); 

var value_json_2 = qs.stringify({ id: 2, name: ['def', 'njera2'], tutorial: '30days of node', creator : 'nodejsera' },';');
console.log("Changing the default 'sep' from '&' to ';'. An example is shown below:");
console.log(value_json_2); 

var value_json_3 = qs.stringify( {id: 3, name: ['hij', 'njera3'], tutorial: '30days of node', creator : 'nodejsera' },';',':');
console.log("Changing the default 'eq' from '=' to ':'. An example is shown below:")
console.log(value_json_3);


و اجرا و نتیجه اجرای آن:

>node qs-stringify.js
id=1&name=abc&name=njera&tutorial=30days%20of%20node&creator=nodejsera
Changing the default 'sep' from '&' to ';'. An example is shown below:
id=2;name=def;name=njera2;tutorial=30days%20of%20node;creator=nodejsera
Changing the default 'eq' from '=' to ':'. An example is shown below:
id:3;name:hij;name:njera3;tutorial:30days%20of%20node;creator:nodejsera

خلاصه

در درس امروز از سلسله دروس دوره آموزشی 30 روز با نود جی اس، مفاهیم پایه Query String را در URL یاد گرفتیم. همچنین به کمک متدهای .parse و stringify قطعه کدهایی نوشتیم که رشته کوئری را برای URL می ساخت یا از آن مجموعه کلید و مقادیر همچون JSON استخراج می کرد.

نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.