آموزش ساختار دستوری ( Syntax ) کد نویسی در JSON
در این درس به بررسی نحوه کدنویسی و تعریف مقادیر و اشیاء در JSON می پردازیم .
ساختار دستوری JSON از زبان جاوا اسکریپت پیروی کرده و در بسیاری از قواعد کاملا شبیه آن است . اصول کلی کدنویسی در JSON عبارتند از :
- اطلاعات ( Data ) در جفت های نام / مقدار تعیین می شوند . یعنی دارای یک نام مشخص و مقدار تعریف شده می باشند .
- هر بخش از اطلاعات ( Data ) از یکدیگر به وسیله کاما ( ، ) جدا می شوند .
- اشیاء ( Objects ) درون آکولاد باز و بسته تعریف می شوند .
- براکت باز و بسته نیز برای تعریف و مقدار دهی آرایه ها به کار می روند .
تعیین داده ها ( اطلاعات ) در JSON
همانطور که گفتیم ، داده ها ( Data ) در JSON ، به صورت جفت های نام / مقدار تعیین می شوند . یک جفت نام / مقدار به وسیله یک نام فیلد داده ، یک ( : ) و یک مقدار مشخص که در " " قرار دارد ، به صورت زیر تعریف می شود . داده زیر با نام firstName و مقدار John می باشد :
syntax |
کد |
" firstName " : " John "
|
نکته مهم :
مقادیر داده ای JSON حتما بایستی درون " " قرار بگیرند ، در حالی که جاوا اسکریپت به آن نیاز ندارد .
انواع مقادیر ( Values ) در JSON
مقادیر ( Values ) در JSON می تواند شامل انواع داده ای زیر باشد :
- یک عدد از نوع معمولی ( integer ) یا اعشاری و ... ( float ) .
- یک رشته متنی ( string ) که درون " " تعریف می شوند .
- یک مقدار درست یا غلط ( boolean ) .
- یک آرایه که شامل دو یا چندین عضو باشد ( درون براکت تعریف می شود ) .
- یک شی ( Object ) که شامل تعدادی فیلد و مقادیر آنها باشد ( درون آکولاد تعریف می شوند ) .
- مقدار هیچ یا Null .
نحوه تعریف اشیاء ( Objects ) در JSON
اشیاء ( Objects ) درون آکولاد باز و بسته تعریف شده و همانند اشیاء در جاوا اسکریپت ، هر شی می تواند شامل یک یا چندین جفت مقدار و نام فیلد باشد . همانند کد زیر . یک شی با دو خاصیت firstname و lastname و مقادیر تعیین شده برای آنها :
syntax |
کد |
{ " firstName " : " John " , " lastName " : " Doe " }
|
نحوه تعریف آرایه ها ( Arrayes ) در JSON
آرایه هادر JSON درون براکت باز و بسته تعریف شده و هر آرایه دارای یک نام منحصر به فرد می باشد . همچنین هر آرایه می تواند شامل یک یا چند مقدار ساده یا یک یا چندین شی که به صورت مجموعه از نام / مقدار است ، باشد . شکل زیر نحوه تعریف یک آرایه 3 عضوی به نام employees را نشان می دهد :
syntax |
کد |
" employees " : [
{ " firstName " : " John " , " lastName " : " Doe " } ,
{ " firstName " : " Anna " , " lastName " : " Smith " } ,
{ " firstName " : " Peter " , " lastName " : " Jones " }
]
|
راهنمایی :
هر عضو آرایه employees ، دارای یک فیلد firstname و یک فیلد lastname با مقدار تعیین شده می باشد ، که هر کدام اطلاعات یک فرد را نگهداری می کند .
JSON برای کار با اطلاعات و اشیاء از Syntax جاوا اسکریپت استفاده می کند :
به دلیل اینکه JSON از ساختار دستوری ( Syntax ) جاوا اسکریپت استفاده می کند ، کدهای اسکریپتی ساده ای را می توان برای تعریف و باز خوانی اطلاعات در آنها به کار برد .
در این بخش ، یک آرایه JSON با چندین عضو ایجاد کرده و سپس به بررسی روش های بازخوانی و ویرایش اطلاعات آن ، توسط ا مقدار تعیین شده کدهای JavaScript می پردازیم :
مثال : کد زیر ، یک آرایه JSON به نام employees را با 3 عضو تعریف می کند . از این مثال برای اجرای دستورات بعدی ، استفاده خواهیم کرد :
syntax |
کد |
" employees " : [
{ " firstName " : " John " , " lastName " : " Doe " } ,
{ " firstName " : " Anna " , " lastName " : " Smith " } ,
{ " firstName " : " Peter " , " lastName " : " Jones " }
]
|
کد 1 : مقدار اولین آرایه را می توان به وسیله دستور زیر بازیابی کرده و نمایش داد . در این مثال ، برنامه مقدار خواص fisrtname و lastname اولین عضو آرایه را با به کار بردن اندیس 0 به دست آورده و جهت نمایش در پاراگراف demo قرار می دهد :
syntax |
کد |
< p id= "demo" > </p>
< script>
var employees = [
{
"firstName": "John",
"lastName": "Doe"
},
{
"firstName": "Anna",
"lastName": "Smith"
},
{
"firstName": "Peter",
"lastName": "Jones"
}
];
document.getElementById("demo").innerHTML = employees[0].firstName + " " + employees[0].lastName;
</script>
|
خروجی |
|
کد 2 : بخش قرمز رنگ انتهایی کد فوق را نیز می توان به این صورت نوشت . این کد نیز کار مثال قبل را دقیقا انجام می دهد :
syntax |
کد |
employees[ 0 ] [ " firstName " ] + " " + employees[ 0 ] [ " lastName " ] ;
|
کد 3 :همچنین می توان مقدار فیلدهای یک عضو آرایه را به وسیله کد زیر، به مقدارهای جدید تغییر داد . در این کد ، مقدار فیلد firstname مربوط به عضو اول آرایه به مقدار Gilbert تغییر می کند :
syntax |
کد |
employees [ 0 ].firstName = " Gilbert " ;
|
کد 4 : دستور کد فوق را نیز می توان به صورت زیر نیز نوشت :
syntax |
کد |
employees[ 0 ][ " firstName " ] = " Gilbert " ;
|
در درس بعد ، خواهیم آموخت چگونه اطلاعات یک فایل متنی ( Text ) از نوع JSON را در یک شی جاوا اسکریپت ذخیره کنیم .