آموزش تعریف و استفاده از آرایه در JSON Array
نحوه تعریف آرایه ها (Arrays) در JSON، تقریبا شبیه زبان جاوا اسکریپت است.
در چهارچوب کاری JSON، مقادیر (values) آرایه ها می توانند از انواع داده ای متنی (String) ، عدد (number)، شی (object)، آرایه (Array)، درست یا غلط (Boolean) و یا تهی (Null) باشد. بنابراین امکان تعریف آرایه های تو در تو و دو بعدی نیز وجود دارد.
نکته :
در جاوا اسکریپت، مقادیر آرایه ها می توانند از انواع اشاره شده بالا باشند، بعلاوه در Java Script می توانید از اصطلاحات (expressions) ، توابع (functions)، تاریخ (dates) و یا مقدارهای تعیین شده نیز بهره بگیرید.
کد زیر، شکل کلی نحوه تعریف آرایه (Array) در جاوا اسکریپت را نشان داده است :
| syntax |
| کد |
[ "Ford", "BMW", "Fiat" ]
|
آموزش استفاده از آرایه (Array) در شی JSON object
در چهارچوب کاری JSON، می توانید از آرایه (Array) به عنوان مقدار (value) در شی (object) استفاده کنید. در این حالت مورد اشاره در شی، حالت تو در تو و دو بعدی به آن می دهد و می توانید جزئیات بیشتری را برای شی تعریف نمایید.
مثال عملی : در کد مثال عملی زیر، یک شی جدید JSON را به نام muObj تعریف کرده ایم که خاصیت سوم آن خود یک آرایه به نام Cars است :
| syntax |
| کد |
{
"name":"John",
"age":30,
"cars":[ "Ford", "BMW", "Fiat" ]
}
|
آموزش نحوه دسترسی به مقدار یک آرایه در JSON
در هر آرایه تعریف شده در چهار چوب کاری JSON، اعضای آرایه به ترتیب تعریف دارای یک شناسه یا index هستند که از صفر شروع شده و به ازای هر عضو، یک واحد افزایش می یابد.
برای مثال، اندیس عضو اول صفر و عضو دوم یک خواهد بود.
برای دسترسی به مقدار هر عضو آرایه، بایستی نام آرایه را نوشته و در براکت مقابل آن، اندیس عضو مورد نظر را وارد کنید.
مثال عملی : در کد مثال زیر، یک شی به نام myObj تعریف شده که مقدار سوم آن خود، یک آرایه 3 عضوی به نام Cars است.
در ادامه که مقدار عضو اول آرایه Cars با اندیس 0 را در متغیر x ریخته و سپس آن را در خروجی نشان داده ایم :
| syntax |
| کد |
x = myObj.cars[0];
|
| خروجی |
|
آموزش پیمایش (Loop) اعضای آرایه در JSON
به وسیله یک حلقه و استفاده از اندیس عددی اعضای آرایه، می توانید به مقدار هر یک از اعضای آن دسترسی داشته و آن ها را بخوانید و استفاده کنید.
برای مثال در کد عملی، با استفاده از یک حلقه for in، درون اعضای آرایه Cars شی myObj حرکت کرده و مقدار همگی آن ها را در خروجی نشان داده ایم :
| syntax |
| کد |
for (i in myObj.cars) {
x += myObj.cars[i];
}
|
| خروجی |
|
همچنین می توانید از یک حلقه for نیز برای این منظور استفاده کنید :
| syntax |
| کد |
for (i = 0; i < myObj.cars.length; i++) {
x += myObj.cars[i];
}
|
| خروجی |
|
آموزش تعریف آرایه های تو در تو Nested Array JSON
همانطور که قبلا هم اشاره کردیم می توانید یک یا چند عضو آرایه خود را به صورت یک آرایه یا حتی یک شی JSON object تعریف کنید.
در اینصورت آرایه، حالت تو در تو یا 2 بعدی پیدا کرده و عضو مورد نظر، خود دارای خواص و مقادیر مخصوص خواهد بود.
مثال عملی : در کد مثال عملی زیر، یک آرایه به نام myObj تعریف کرده ایم، که عضو سوم آن خود یک آرایه دیگر است که درون آن نیز چند شی تعریف شده است :
| syntax |
| کد |
myObj = {
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
|
مثال عملی 2 : برای دسترسی به اعضای یک آرایه تو در تو، بایستی از یک حلقه for-in برای هر آرایه استفاده کنید. در هر آرایه نیز برای دسترسی به عضو مورد نظر، بایستی از اندیس آن به صورت عددی استفاده کنید :
| syntax |
| کد |
for (i in myObj.cars) {
x += "< h1>" + myObj.cars[i].name + "< /h1>";
for (j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
|
| خروجی |
|
آموزش تغییر مقدار اعضای آرایه در JSON
برای دسترسی به یک عضو آرایه و تغییر مقدار آن، بایستی از اندیس عضو آرایه، هماند کد زیر استفاده کنید :
| syntax |
| کد |
myObj.cars[1] = "Mercedes";
|
| خروجی |
|
آموزش حذف یک عضو آرایه در JSON
از کلمه کلیدی delete برای حذف یک یا چند عضو آرایه، یا کل آن می توان استفاده کرد.
برای این منظور بایستی همانند کد مثال عملی زیر، توسط شماره اندیس عضو آرایه، به عضو مورد نظر اشاره کنید :
| syntax |
| کد |
delete myObj.cars[1];
|
| خروجی |
|