querystring
- Node.js kursu
- Orta seviye
- Ders 110/116
- 5 dk
querystring modülü ile query string öğrenirsin.
querystring modülü
Eski Node.js kodlarında querystring modülünü görürsün. require("node:querystring") ile içe aktarılır. Sorgu dizesini nesneye çevirir (parse) ve nesneyi sorgu dizesine çevirir (stringify).
Yeni kodda URLSearchParams önerilir; ama eski kodu okumak için querystring'i bilmek gerekir. Örnek: const querystring = require("node:querystring"); querystring.parse("a=1&b=2") çıktısı { a: "1", b: "2" }'dir. querystring.stringify({ a: 1, b: 2 }) çıktısı "a=1&b=2"'dir. URLSearchParams'ten farkı: özel karakter kodlaması daha esnektir ve çoklu değerler diziler olarak gelir. Üretimde yeni kodda URLSearchParams kullanman önerilir; bu ders yalnızca tanıma yöneliktir.
parse ve stringify
querystring.parse(dize) sorgu dizesini nesneye çevirir. querystring.stringify(nesne) nesneyi sorgu dizesine çevirir. İkisi de birbirinin tersidir.
Örnek: const obj = querystring.parse("ad=ayse&yas=30"); → { ad: "ayse", yas: "30" }. querystring.stringify({ ad: "ayse", yas: 30 }) → "ad=ayse&yas=30". parse ayracı varsayılan &'tir; ikinci parametreyle değiştirebilirsin. Değerler her zaman dize olarak gelir; sayı istiyorsan Number() ile çevirirsin. stringify özel karakterleri (boşluk, Türkçe harf) UTF-8 olarak kodlar. Eski Express sürümleri querystring'i kullanırdı; yeni sürümler URLSearchParams'e geçti.
Uygulama Sorgu dizesini parse et
const querystring = require("node:querystring"); ile içe aktar. const parsed = querystring.parse("a=1&b=2"); ile parse et. console.log(parsed.a) ve console.log(parsed.b) ile değerleri yazdır.
Başlangıç kodu
// querystring modülünü içe aktar
// buraya yaz
// "a=1&b=2" dizesini parse et
// buraya yaz
// a ve b değerlerini yazdır
// buraya yazÖrnek çözüm
const querystring = require("node:querystring");
const parsed = querystring.parse("a=1&b=2");
console.log(parsed.a);
console.log(parsed.b);Beklenen çıktı
1 2
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 parse çağrısını tamamla
const parsed = querystring.____("a=1&b=2");
const parsed = querystring.parse("a=1&b=2");
Açıklama: parse sorgu dizesini nesneye çevirir.
2 querystring.parse("a=1") ne döndürür?
querystring.parse("a=1")- "1"
- { a: "1" } (nesne) Doğru cevap
- 1 (sayı)
- ["1"] (dizi)
Açıklama: parse bir nesne döndürür; değerler dize olur.
3 Yöntemi işlevine eşle
| Kavram | Anlamı |
|---|---|
parse |
Dizeden nesne |
stringify |
Nesneden dize |
require |
Modülü içe aktarır |
node:querystring |
Modül adı |