JSON.stringify()

()JSON.stringify یک متد در جاوااسکریپت است که برای تبدیل شیء جاوااسکریپت به رشته JSON استفاده می‌شود.
این متد معمولاً برای ارسال داده‌ها به سرور یا ذخیره‌سازی داده‌ها کاربرد دارد.

🔹 1. ساختار متد

JSON.stringify(value[, replacer[, space]])
  • value → شیء یا آرایه جاوااسکریپت

  • replacer (اختیاری) → تابع یا آرایه‌ای برای فیلتر کردن یا تغییر داده‌ها

  • space (اختیاری) → تعداد فاصله‌ها برای فرمت‌بندی رشته خروجی (خوانایی بهتر)

🔹 2. مثال ساده

let user = { name: "Ali", age: 25, isActive: true }; let jsonString = JSON.stringify(user); console.log(jsonString); // {"name":"Ali","age":25,"isActive":true}

📌 شیء جاوااسکریپت به رشته JSON تبدیل شده و آماده ارسال یا ذخیره‌سازی است.

🔹 3. مثال با آرایه

let skills = ["HTML", "CSS", "JavaScript"]; let jsonArray = JSON.stringify(skills); console.log(jsonArray); // ["HTML","CSS","JavaScript"]

📌 آرایه‌ها نیز به راحتی به رشته JSON تبدیل می‌شوند.

🔹 4. استفاده از Replacer

  • replacer می‌تواند یک آرایه از کلیدها یا یک تابع باشد که مشخص می‌کند کدام مقادیر در JSON نهایی باشند.

let user = { name: "Ali", age: 25, isActive: true }; let jsonString = JSON.stringify(user, ["name", "age"]); console.log(jsonString); // {"name":"Ali","age":25}

📌 در این مثال، فقط کلیدهای name و age در JSON نهایی ظاهر شدند.

🔹 5. استفاده از Space برای فرمت‌بندی

let user = { name: "Ali", age: 25, skills: ["HTML","CSS"] }; let jsonString = JSON.stringify(user, null, 4); console.log(jsonString);

📌 خروجی JSON با ۴ فاصله برای خوانایی بهتر چاپ می‌شود:

{ "name": "Ali", "age": 25, "skills": [ "HTML", "CSS" ] }

🔹 6. نکات مهم

  • متد ()JSON.stringify فقط داده‌ها را تبدیل می‌کند، توابع و symbolها حذف می‌شوند

  • مقادیر undefined و توابع در آرایه‌ها به null تبدیل می‌شوند

  • استفاده رایج: ارسال داده‌ها به سرور یا ذخیره در LocalStorage

✅ خلاصه

  • ()JSON.stringify → تبدیل شیء جاوااسکریپت به رشته JSON

  • قابلیت فیلتر کردن مقادیر با replacer

  • قابلیت فرمت‌بندی خروجی با space

  • توابع و symbolها حذف می‌شوند

  • مناسب برای ارسال داده‌ها به سرور یا ذخیره‌سازی