JSON.stringify()

کاربرد معمول JSON، تبادل داده‌ها با سرور وب است.

هنگام ارسال داده به سرور وب، داده‌ها باید به صورت رشته باشند.

از طریق JSON.stringify() شیء JavaScript را به رشته تبدیل کنید.

رشته‌بندی شیء JavaScript

تصور کنید ما در JavaScript این شیء را داریم:

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

لطفاً از تابع JavaScript استفاده کنید JSON.stringify() آن را به رشته تبدیل کنید.

var myJSON = JSON.stringify(obj);

نتیجه یک رشته‌ای خواهد بود که با معیارهای JSON موافق است.

myJSON در حال حاضر یک رشته است و آماده ارسال به سرور است:

مثال

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

به طور مستقیم امتحان کنید

شما در فصل بعد یاد خواهید گرفت که چگونه JSON را به سرور ارسال کنید.

رشته‌بندی آرایه JavaScript

همچنین می‌توانیم آرایه JavaScript را به رشته تبدیل کنیم:

تصور کنید ما در JavaScript این آرایه را داریم:

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

لطفاً از تابع JavaScript استفاده کنید JSON.stringify() آن را به رشته تبدیل کنید.

var myJSON = JSON.stringify(arr);

نتیجه یک رشته‌ای خواهد بود که با معیارهای JSON موافق است.

myJSON در حال حاضر یک رشته است و آماده ارسال به سرور است:

مثال

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

به طور مستقیم امتحان کنید

شما در فصل بعد یاد خواهید گرفت که چگونه JSON را به سرور ارسال کنید.

استثنا

رشته‌بندی تاریخ

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

مثال

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

به طور مستقیم امتحان کنید

شما می‌توانید رشته را در نقطه ورودی به یک شیء تاریخ تبدیل کنید.

توابع به صورت متنی درآورده می‌شوند

در JSON، اجازه نمی‌شود توابع به عنوان مقادیر شیء وجود داشته باشند.

JSON.stringify() توابع از هرگونه توابعی که در شیء JavaScript قرار دارد، از جمله کلیدها و مقادیر، حذف می‌شوند:

مثال

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

به طور مستقیم امتحان کنید

اگر در حال اجرای JSON.stringify() توابع قبل از تبدیل به توابع به صورت متنی قرار گرفته‌اند، که می‌توان این مرحله را حذف کرد.

مثال

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

به طور مستقیم امتحان کنید

شما باید از استفاده از توابع در JSON خودداری کنید، زیرا توابع از محدوده خود محروم می‌شوند و شما همچنین باید از eval() آنها را به توابع تبدیل کنید.

پشتیبانی مرورگر

همه مرورگرهای اصلی و استانداردهای ECMAScript (JavaScript) جدیدتر شامل JSON.stringify() توابع:

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

بله 8.0 3.5 4.0 10.0