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 استخراج می کرد.

نویسنده شوید

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

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

دوره‌های آموزشی مرتبط
مقالات مرتبط
آخرین سوالات کاربران
ما را دنبال کنید
اینستاگرام روکسو تلگرام روکسو ایمیل و خبرنامه روکسو