JSON.stringify() metodi

ULASHISH

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!