جیسان اسٹرنگی فاکن

استفاده‌های معمول JSON برای تبادل داده‌ها با سرورهای وب است.

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

از طریق جیسان اسٹرنگی فاکن شیء JavaScript را به رشته تبدیل کنید.

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

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

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

لطفاً از تابع JavaScript استفاده کنید جیسان اسٹرنگی فاکن آن را به رشته تبدیل کنید.

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 استفاده کنید جیسان اسٹرنگی فاکن آن را به رشته تبدیل کنید.

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، اشیاء تاریخ مجاز نیستند.جیسان اسٹرنگی فاکن این تابع هر تاریخ را به رشته تبدیل می‌کند。

مثال

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

شما باید شخصاً امتحان کنید

آپ می‌توانید رشته را در سرور دریافت کنید و آن را به اشیاء تاریخ تبدیل کنید。

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

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

جیسان اسٹرنگی فاکن توابع از هر توابعی از JavaScript شیء حذف می‌شوند، از جمله کلیدها و مقادیر:

مثال

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

شما باید شخصاً امتحان کنید

اگر شما در حال اجرای جیسان اسٹرنگی فاکن توابع قبل از تبدیل به توابع به عنوان رشته، این مرحله می‌تواند حذف شود.

مثال

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 (جی‌اوزاسکریپت) شامل جیسان اسٹرنگی فاکن توابع:

اعداد در جدول زیر نشان‌دهنده پشتیبانی کامل از جیسان اسٹرنگی فاکن نسخه اولین مرورگر برای تابع:

بله 8.0 3.5 4.0 10.0