JSON.stringify() metodi
JSON.stringify() metodi
JSON.stringify() usuli JavaScript qiymatini JSON matniga aylantiradi.
JavaScript o‘zgaruvchilari quyidagilar bo‘lishidan oldin oddiy matnga aylantirilishi kerak:
- HTTP orqali serverga yuboriladi
- Transmitted between applications
- Matn faylida saqlanadi
Eslatma
JSON.stringify() metodi matnli string qaytaradi.
Sintaksis
JSON.stringify(value, replacer, space)
| Parametr | Tavsif |
|---|---|
| value | O‘zgartirish uchun JavaScript qiymati. |
| replacer | Qiymatlarni tanlaydigan yoki o‘zgartiruvchi ixtiyoriy funksiya yoki massiv. |
| space | JSON matniga chekinish uchun foydalaniladigan ixtiyoriy raqam yoki string. |
Obyektni o‘girish
Misol
JavaScript obyektini JSON matniga aylantirish.
// Create a JavaScript object
const person = {
name: "John",
age: 30,
city: "New York"
};
// Convert the object to a JSON text
const text = JSON.stringify(person);
O‘zingiz sinab ko‘ring »
Massivni o‘girish
Misol
JavaScript obyektini JSON matniga aylantirish.
// Create a JavaScript array
const cars = ["Ford", "Volvo", "BMW"];
// Convert the array to a JSON text
const text = JSON.stringify(cars);
O‘zingiz sinab ko‘ring »
Boshqa qiymatlarni o‘girish
JSON.stringify() JSON qo‘llab-quvvatlaydigan barcha JavaScript qiymatlarini o‘gira oladi.
| JavaScript Value | JSON Text |
|---|---|
| String | "John" |
| Number | 42 |
| Boolean | true |
| null | null |
| Object | {"name":"John","age":30,"city":"New York"} |
| Array | ["Ford","Volvo","BMW"] |
Misol
JSON.stringify("John");
JSON.stringify(42);
JSON.stringify(false);
JSON.stringify(Boolean(0));
JSON.stringify(true);
JSON.stringify(Boolean(1));
JSON.stringify(undefined);
// These returns null
JSON.stringify(null);
JSON.stringify(NaN);
JSON.stringify(Infinity);
O‘zingiz sinab ko‘ring »
Xususiyatlarni tanlash
O‘zgartirish massivi qaysi xususiyatlarni kiritishni tanlashi mumkin.
Misol
const person = {
name: "John",
age: 30,
city: "New York"
};
let text = JSON.stringify(person, ["name", "city"]);
O‘zingiz sinab ko‘ring »
Olingan JSON faqat tanlangan xususiyatlarni o‘z ichiga oladi.
Qiymatlarni o‘zgartirish
O‘zgartirish funksiyasi qiymatlarni konvertatsiya qilishdan oldin o‘zgartirishi mumkin.
Misol
const person = {
name: "John",
age: 30
};
const text = JSON.stringify(person,
function(key, value) {
if (key == "age") {
return value + 1;
}
return value;
});
O‘zingiz sinab ko‘ring »
JSON’ni formatlash
Ixtiyoriy bo‘sh joy parametri JSONni o‘qishni osonlashtiradi.
Misol
const person = {
name: "John",
age: 30,
city: "New York"
};
let text = JSON.stringify(person, null, 1);
O‘zingiz sinab ko‘ring »
null qiymati replacer ishlatilmasligini bildiradi.
1 qiymati har bir darajani bitta bo‘sh joy bilan cheklaydi.
Qo‘llab-quvvatlanmaydigan qiymatlar
Ba’zi JavaScript qiymatlarini JSONda ifodalab bo‘lmaydi.
| Qiymat | Natija |
|---|---|
| BigInt | Throws a TypeError. |
| Infinity | Obyektlar va massivlarda nullga aylantiriladi. |
| NaN | Obyektlar va massivlarda nullga aylantiriladi. |
| undefined | Obyektlardan chiqarib tashlangan. Massivlarda nullga aylantirildi. |
| Functions | Obyektlardan chiqarib tashlangan. Massivlarda nullga aylantirildi. |
| Symbol | Obyektlardan chiqarib tashlangan. Massivlarda nullga aylantirildi. |
Misol
Funksiyalar va aniqlanmagan qiymatlar obyektlardan chiqarib tashlanadi.
const person = {
name: "John",
greet: function() {},
age: undefined
};
let text = JSON.stringify(person);
O‘zingiz sinab ko‘ring »
Eslatma
Olingan JSON sintaksisi faqat qo‘llab-quvvatlanadigan qiymatlarni o‘z ichiga oladi.
Misol
NaN va Infinity obyektlarda nullga aylantiriladi.
const person = {
name: "John",
greet: NAN,
age: Infinity
};
let text = JSON.stringify(person);
O‘zingiz sinab ko‘ring »
Misol
Funksiya, undefined, NaN va Infinity massivlarda nullga aylantiriladi.
// JavaScript Array
const cars = ["Ford", "Volvo", function() {}, undefined, NaN, Infinity];
// Convert the array to JSON
let text = JSON.stringify(cars);
O‘zingiz sinab ko‘ring »
Sanalarni stringga aylantirish
JSON.stringify() funksiyasi Date obyektlarini stringlarga aylantiradi.
Misol
const person = {name:"John", today:date, city:"New York"};
let text = JSON.stringify(person);
O‘zingiz sinab ko‘ring »
Qabul qiluvchi tomonda stringni qayta sana obyektiga aylantirishingiz mumkin.
Ma’lumotlarni saqlash
Ma’lumotlarni saqlashda ma’lumotlar ma’lum bir formatda bo‘lishi kerak va siz uni qayerda saqlashni tanlashingizdan qat’i nazar, matn har doim qonuniy formatlardan biri hisoblanadi.
JSON JavaScript obyektlarini matn sifatida saqlash imkonini beradi.
Misol
Ma’lumotlarni local storage’da saqlash
// Store data:
const myObj = {name: "John", age: 31, city: "New York"};
const myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
// Retrieve data:
let text = localStorage.getItem("testJSON");
let obj = JSON.parse(text);
O‘zingiz sinab ko‘ring »
Stringify bilan bog‘liq keng tarqalgan xatolar
Calling JSON.stringify() twice, adds escaped quotation marks.
Wrong
const person = {name:"John"};
const text = JSON.stringify(person);
const textAgain = JSON.stringify(text);
O‘zingiz sinab ko‘ring »
JSON.stringify() aylanma (circular) havolalarni o‘z ichiga olgan obyektlarni o‘gira olmaydi.
Misol
const person = {};
person.self = person;
JSON.stringify(person);
Yuqoridagi misol TypeErrorni chiqaradi.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
