‎‎تبديل شئ جاوااسكريپت بجسون‎JSON.stringify( )‎ -‎

Previous >    <Next  

‎استفاده رايج ازJSON براي تبادل داده با يك وب سروراست . هنگام دريافت داده از يك ‎وب سرور، داده ها هميشه يك رشته هستند.

‎با متد‎JSON.stringify( )‎ميتوان اشياء جاوااسكريپت را به داده ‎جسوني تبديل كرد.

‎Stringify a JavaScript Object

‎‎رشته اي نمودن شئ جاوااسكريپت

‎‎شئ زيرا را در جاوااسكريپت درنظر بگيريد:

const obj = {name: "John", age: 30, city: "New York"};

‎با استفاده از متد‎JSON.stringify( )‎ميتوان آنرا را برشته جسوني ‎تبديل نمود، مطابق زير:

const myJSON = JSON.stringify(obj);

‎‎نتيجه آن رشته اي متناسب با نمادJSON ميباشد .

‎‎myJson‎‎اكنون بصورت رشته فرمت جسوني است، كه آماده ارسال براي سروراست .

‎‎مثال ـ تبديل شئ جاوااسكريپت به نماد جسوني

const obj = {name: "John", age: 30, city: "New York"};
const myJSON = JSON.stringify(obj);

--(go to editor for change code and run)

‎‎در فصل هاي بعدي در مورد ارسال داده جسوني به سرور بحث ميگردد.

‎Stringify a JavaScript Array

‎‎رشته اي كردن آرايه جاوااسكريپت

‎همچنين ميتوان آرايه هاي جاوااسكريپت را برشته جسوني تبديل كرد .نمونه اي از آرايه ‎جاوااسكريپت زيرا در نظر بگيريد:

const arr = ["John", "Peter", "Sally", "Jane"];

‎اين آرايه را در زير با تابع‎JSON.stringify( )‎ برشته جسوني تبديل ‎ميكنيم.

const myJSON = JSON.stringify(arr);

‎‎نتيجه آن رشته اي متناسب با نمادJSON ميباشد .

‎‎myJson‎‎اكنون بصورت رشته فرمت جسوني است، كه آماده ارسال براي سروراست .

‎‎مثال ـ تبديل آرايه جاوااسكريپت به نماد جسوني

const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON = JSON.stringify(arr);

--(go to editor for change code and run)

‎‎در فصل هاي بعدي در مورد ارسال داده جسوني به سرور بحث ميگردد.

‎‎ذخيره كردن دادهStoring Data -‎

‎هنگام ذخيره كردن داده ها ، آنها بايد فرمت خاصي صرف نظر از محل ذخيره داشته باشند .متن ‎هميشه يكي از قالب هاي قانوني براي ذخيره داده ها است.

‎JSON‎امكان ذخيره اشياء جاوااسكريپت را بعنوان متن فراهم ميكند .

‎‎مثال ـ ذخيره داده در حافظه محلي

// Storing data:
const myObj = {name: "John", age: 31, city: "New York"};
const myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);

// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;

--(go to editor for change code and run)

‎‎استثناء براي رشته اي تاريخExceptions Stringify Dates -‎

‎در جسون شئ تاريخ مجاز نيست، هرچند آن فرمت متني دارد .بايد آن بااستفاده از متد ‎JSON.strigify( )‎‎برشته جسوني تبديل شود .

‎‎مثال ـ نمونه تبديل شئ تاريخ بفرمت جسوني بدون توجه به استثاء

const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);

--(go to editor for change code and run)

‎در مثال فوق اگر نتيجه ملاحظه كنيد، تبديل تاريخ قابل خواندن معمول نيست .براي رفع مشكل ‎ميتوان ازتابع گيرنده استفاده كرد .يا قبل از جسوني كرد تاريخ را با دستور زير رشته اي كنيد.

obj.today=obj.today.toString();

‎‎رشته اي كردن توابعStringify Functions -‎

‎درJSON توابع بعنوان مقادير شئ مجاز نيستند .تابع‎JSON.stringify( )‎ ‎هر تابعي را از يك شئ جاوااسكريپت، كليد ومقدارش را حذف ميكند.

‎‎مثال ـ تابع بعنوان مقدار در شئ

const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);

--(go to editor for change code and run)

‎اگر قبل از اجراي تابع‎JSON.stringify( )‎ آنرا به رشته تبديل كنيد ‎از حدف آن جلوگيري ميكنيد .مطابق مثال زير

const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);

--(go to editor for change code and run)


Previous >    <Next