تبدیل به رشتهشیء

تبدیل داده‌ها بین رشته و شیء در جاوااسکریپت

در توسعه وب، تبدیل داده‌ها بین فرمت‌های رشته (String) و شیء (Object) یکی از عملیات‌های پایه‌ای و پرکاربرد است. این تبدیل‌ها به ویژه هنگام کار با APIها، ذخیره‌سازی داده‌ها یا انتقال اطلاعات بین سرویس‌های مختلف ضروری می‌شوند.

تبدیل شیء به رشته با JSON.stringify()

برای تبدیل یک شیء جاوااسکریپت به رشته JSON، از تابع JSON.stringify() استفاده می‌کنیم. این تابع یک شیء را دریافت کرده و معادل رشته‌ای آن را برمی‌گرداند:

const person = {
  name: "علی",
  age: 30,
  skills: ["JavaScript", "React"]
};

const jsonString = JSON.stringify(person);
console.log(jsonString);
// خروجی: {"name":"علی","age":30,"skills":["JavaScript","React"]}

مزایای استفاده از این روش:

  • امکان ذخیره‌سازی شیء در localStorage یا ارسال به سرور
  • تبدیل ساختارهای پیچیده به فرمت قابل انتقال
  • پشتیبانی از انواع داده‌های استاندارد شامل رشته، عدد، آرایه و شیء

تبدیل رشته به شیء با JSON.parse()

برای تبدیل معکوس (رشته JSON به شیء) از تابع JSON.parse() استفاده می‌کنیم:

مثال نتیجه
const jsonString = '{"name":"مریم","age":25}';
const person = JSON.parse(jsonString);
{
  name: "مریم",
  age: 25
}

برای یادگیری عمیق‌تر درباره JSON در جاوااسکریپت، می‌توانید اینجا را انتخاب نمایید.

موارد خاص و نکات مهم

در تبدیل‌های JSON به خاطر داشته باشید:

  1. توابع و مقادیر undefined در خروجی JSON.stringify نادیده گرفته می‌شوند
  2. تاریخ‌ها به رشته تبدیل می‌شوند و نیاز به پردازش مجدد دارند
  3. برای شیءهای پیچیده می‌توان از پارامتر replacer در stringify استفاده کرد

همیشه هنگام کار با JSON.parse() خطاهای احتمالی را با try/catch مدیریت کنید، زیرا رشته‌های نامعتبر باعث بروز خطا می‌شوند.


کاربردهای عملی

این تبدیل‌ها در سناریوهای واقعی توسعه وب بسیار کاربردی هستند:

ذخیره‌سازی در localStorage

از آنجا که localStorage فقط رشته‌ها را ذخیره می‌کند، برای ذخیره شیءها باید آن‌ها را به JSON تبدیل کنید.

ارسال داده به سرور

هنگام ارسال داده با fetch یا AJAX، معمولاً نیاز به تبدیل شیء به رشته JSON دارید.