اگر در حوزه طراحی وبسایت فعالیت داشته باشید و یا اینکه قصد یادگیری برنامه نویسی وب را داشته باشید قطعا در این مسیر نام JSON را خواهید شنید. در این مقاله بطور مختصر با مفهوم جیسون و کاربردهای آن آشنا میشوید.
JSON چیست؟
JSON واژه اختصاری عبارت JavaScript Object Notation به معنای “نشانهگذاری شئ جاوا اسکریپت” است. البته به معنای آن توجه زیادی نکنید چون معمولا ترجمه این عبارات مفهوم دقیقی ارائه نمیدهند.
اگر با جاوا اسکریپت آشنایی ندارید مقاله جاوا اسکریپت چیست ؟ را به شما پیشنهاد میکنیم.
جیسون یک قالب سبک وزن (light weight) برای ذخیره و حملونقل داده است. مانند XML، اما چرا بعضیها JSON را به XML ترجیح میدهند؟ شاید بخاطر خوانایی بیشتر آن نسبت به XML و محبوبیت زبان Java Script است.
اگر نمیدانید XML چیست حتما این مطلب را بخوانید: XML چیست ؟
جیسون غالباً برای ارسال داده از یک وب سرور به یک صفحه وب استفاده میشود.
جیسون خود توصیف (self-describing) است یعنی فهم کدهای آن به دلیل ساختار نام/مقدار (name/value) بسیار آسان است.
مثالی از JSON
در ابتدا قصد داریم با مثالی از JSON شروع و آشنایی مختصری با آن پیدا کنیم. با این حال اگر این مثال را متوجه نشدید نگران نباشید، در ادامه مطلب بطور کامل به درک مفهوم و نحوه نوشتن کدهای جیسون میپردازیم.
مثال زیر یک شئ با نام “employees” به معنای کارمندان تعریف کرده است که مقدار این شی حاوی آرایهای با ۲ عنصر است. که هر عنصر آرایه یک شئ است که مشخصات یک کارمند را در برمیگیرد.
۱
۲
۳
۴
۵
۶
|
{
“employees”:[
{“firstName”:“mohammadjavad”, “lastName”:“asadi”},
{“firstName”:“hossein”, “lastName”:“asadi”}
]
}
|
قواعد نحوه نوشتن JSON
- دادهها در جفتهایی بصورت نام/مقدار (name/value) قرار میگیرد.
- دادهها با علامت کاما از هم جدا میشوند.
- علامتهای { } اشیاء را نگه میدارند.
- علامتهای [ ] آرایهها را نگه میدارند.
نشانهگذاری شئ جاوا اسکریپت
قالب JSON از لحاظ نحوی با قالب کدهای ایجاد اشیاء در جاوا اسکریپت یکسان است.
به دلیل این شباهت، یک برنامه جاوا اسکریپت میتواند به راحتی دادههای جیسون را به اشیاء بومی جاوا اسکریپت تبدیل کند.
نحوه نوشتن جیسون از نحوه نوشتن اشیاء جاوا اسکریپت نشات گرفته است، اما قالب آن فقط متن است.
کد خواندن و تولید جیسون را میتوان با هر زبان برنامه نویسی نوشت.
دادههای JSON
دادههای JSON بصورت زوجهای نام/مقدار (name/value) نوشته میشوند، دقیقا مانند خصوصیات شئ جاوا اسکریپت.
یک زوج نام/مقدار شامل یک فیلد نام (درون جفت کوتیشن)، و به دنبال آن یک علامت دو نقطه، و بعد از آن مقدار، است.
۱
|
“firstName”:“mohammadjavad”
|
نامها (names) در جیسون باید درون جفت کوتیشن (shift+’یا shift + حرف فارسی گ )قرار گیرند، اما نامهای جاوا اسکریپت نه.
اشیاء JSON
اشیاء JSON درون پرانتز نوشته میشوند.
دقیقا مانند جاوا اسکریپت، اشیاء میتوانند حاوی چندین زوج نام/مقدار (name/value) باشند.
۱
|
{“firstName”:“mohammadjavad”, “lastName”:“asadi”}
|
آرایههای JSON
آرایههای JSON درون براکت نوشته میشوند.
درست مانند جاوا اسکریپت، آرایه میتواند حاوی اشیاء باشد.
۱
۲
۳
۴
|
“employees”:[
{“firstName”:“mohammadjavad”, “lastName”:“asadi”},
{“firstName”:“hossein”, “lastName”:“asadi”}
]
|
در مثال بالا، شئ “employees” شامل یک آرایه است که این آرایه شامل ۲ شئ میباشد.
هر شئ یک رکورد از یک شخص است (با یک نام و نام خانوادگی).
تبدیل یک متن JSON به یک شئ جاوااسکریپت
یک استفاده رایج از جیسون برای خواندن دادهها از وب سرور ، و نمایش آن در صفحه وب است.
برای سادگی ، میتوان کدهای جیسون را با استفاده از یک رشته (String) به عنوان ورودی نشان داد.
ابتدا یک رشته (متن) جاوا اسکریپت که حاوی یک کد جیسون است را ایجاد کنید:
۱
۲
۳
۴
|
var text = ‘{ “employees” : [‘ +
‘{“firstName”:“mohammadjavad”, “lastName”:“asadi”},’ +
‘{“firstName”:“hossein”, “lastName”:“asadi”}‘
]}’;
|
حال از یک تابع داخلی جاوا اسکریپت به نام ()JSON.parse برای تبدیل این رشته (string) به یک شئ جاوا اسکریپت استفاده کنید.
۱
|
var obj = JSON.parse(text);
|
در نهایت، از این شئ جدید جاوا اسکریپت در صفحه خود استفاده کنید.
۱
۲
۳
۴
۵
|
<p id=“demo”></p>
<script>
document.getElementById(“demo”).innerHTML =
obj.employees[۱].firstName + ” “ + obj.employees[۱].lastName;
</script>
|
این مطلب توضیح و آموزش بسیار کوتاهی از جیسون بود که امیدوارم برایتان مفید باشد. دیدگاهتان درمورد این مقاله را با من به اشتراک بگذارید.