رشته هاي جسوني قواعدي دارند كه در فصول گذشته در مورد آنها بحث گرديد .در رشته هاي جسوني ميتواند داده هاي شئ كه در داخل{ } ميباشند، قرار داشته باشد .موارد را شئ نماي جسوني مي ناميم .توجه كنيد شئ واقعي نيست، باين دليل تا تجزيه به جاوااسكريپت نشود، نميتوان روي آن از متد و ويژگي شئ استفاده كرد.
در زير اين يك رشته جسوني است.
'{"name":"John", "age":30, "car":null}'
در داخل اين رشته يك شئ نما وجود دارد، اين در زير مشخص شده است
{"name":"John", "age":30, "car":null}
اطلاعات شئ نما(key/value)در در داخل{ } در رشته جسوني قرار ميگيرند .شئ نماي جسوني شامل زوجkey/value كه با كاما"," تفكيك ميگردد، هستند .همچنين بينkeyوvalue كالن":" قرار دارد .
در شئ نما كليد بايد رشته و مقدار آن يكي از انواع داده اي زيرباشد:
يك اشتباه رايج اينستكه شئ نمايJSON را يك شئ واقعي جسون(JSON Object) در نظر ميگيرند.
جسون نمي تواند يك شئ باشد، آن فقط داراي فرمت رشته اي است.
زماني كه داده ها در قالب رشته اي باشند، فقطJSON هستند .وقتي بيك متغير جاوااسكريپت تبديل ميشود، تبديل به يك شئ جاوااسكريپت ميشود.
مثال ـ در اين مثال يك شئ جاوااسكريپت بصورت مستقيم ايجاد ميشود.
myObj = {"name":"John", "age":30, "car":null};
ميتوان از يك رشتهJSON كه داراي شئ نما ميباشد، در جاوااسكريپت شئ ايجاد كرد . معمولا روش ايجاد شئ جاوااسكريت ار طريق تجزيه رشتهJSON است .
مثال ـ ايجاد شئ از رشتهJSON
myJSON = '{"name":"John", "age":30, "car":null}'; myObj = JSON.parse(myJSON);
با استفاده از علامت نقطه"." ميتوان بمقادير شئ دسترسي داشت .
مثال ـ نمونه دسترسي به مقادير شئ
const myJSON = '{"name":"John", "age":30, "car":null}'; const myObj = JSON.parse(myJSON); x = myObj.name;
همچنين ميتوان با استفاده از علامت[ ] به مقاد شئ دسترسي پيداكرد .
مثال ـ نمونه دسترسي به مقادير با علامت[ ]
const myJSON = '{"name":"John", "age":30, "car":null}'; const myObj = JSON.parse(myJSON); x = myObj["name"];
ميتوان با استفاده حلقهfor-in روي شئ دور زد و به تمام مقادير آن دسترسي پيدا كرد
مثال ـ حلقه روي شئ براي دسترسي به كليدها
const myJSON = '{"name":"John", "age":30, "car":null}'; const myObj = JSON.parse(myJSON); let text = ""; for (const x in myObj) { text += x + ", "; }
با استفاده از علامت باز وبسته براكت ميتوان در حلقه به مقادير هم دسترسي پيدا كرد.
مثال ـ دسترسي بمقادير شئ با حلقهfor-in
const myJSON = '{"name":"John", "age":30, "car":null}'; const myObj = JSON.parse(myJSON); let text = ""; for (const x in myObj) { text += myObj[x] + ", "; }