آموزش JSON

ساختار دستوری ( Syntax ) کد نویسی در JSON

در این درس به بررسی نحوه کدنویسی و تعریف مقادیر و اشیاء در JSON می پردازیم .
ساختار دستوری JSON از زبان جاوا اسکریپت پیروی کرده و در بسیاری از قواعد کاملا شبیه آن است . اصول کلی کدنویسی در JSON عبارتند از :

اطلاعات ( Data ) در جفت های نام / مقدار تعیین می شوند . یعنی دارای یک نام مشخص و مقدار تعریف شده می باشند .
هر بخش از اطلاعات ( Data ) از یکدیگر به وسیله کاما ( ، ) جدا می شوند .
اشیاء ( Objects ) درون آکولاد باز و بسته تعریف می شوند .
براکت باز و بسته نیز برای تعریف و مقدار دهی آرایه ها به کار می روند .

همانطور که گفتیم ، داده ها ( Data ) در JSON ، به صورت جفت های نام / مقدار تعیین می شوند . یک جفت نام / مقدار به وسیله یک نام فیلد داده ، یک ( : ) و یک مقدار مشخص که در " " قرار دارد ، به صورت زیر تعریف می شود . داده زیر با نام firstName و مقدار John می باشد :

" firstName " : " John "

نکته مهم : مقادیر داده ای JSON حتما بایستی درون " " قرار بگیرند ، در حالی که جاوا اسکریپت به آن نیاز ندارد .

مقادیر ( Values ) در JSON می تواند شامل انواع داده ای زیر باشد :

یک عدد از نوع معمولی ( integer ) یا اعشاری و ... ( float ) .
یک رشته متنی ( string ) که درون " " تعریف می شوند .
یک مقدار درست یا غلط ( boolean ) .
یک آرایه که شامل دو یا چندین عضو باشد ( درون براکت تعریف می شود ) .
یک شی ( Object ) که شامل تعدادی فیلد و مقادیر آنها باشد ( درون آکولاد تعریف می شوند ) .
مقدار هیچ یا Null .

اشیاء ( Objects ) درون آکولاد باز و بسته تعریف شده و همانند اشیاء در جاوا اسکریپت ، هر شی می تواند شامل یک یا چندین جفت مقدار و نام فیلد باشد . همانند کد زیر . یک شی با دو خاصیت firstname و lastname و مقادیر تعیین شده برای آنها :

{ " firstName " : " John " , " lastName " : " Doe " }

آرایه هادر JSON درون براکت باز و بسته تعریف شده و هر آرایه دارای یک نام منحصر به فرد می باشد . همچنین هر آرایه می تواند شامل یک یا چند مقدار ساده یا یک یا چندین شی که به صورت مجموعه از نام / مقدار است ، باشد . شکل زیر نحوه تعریف یک آرایه 3 عضوی به نام employees را نشان می دهد :

" employees " : [
{ " firstName " : " John " , " lastName " : " Doe " } ,
{ " firstName " : " Anna " , " lastName " : " Smith " } ,
{ " firstName " : " Peter " , " lastName " : " Jones " }
]

راهنمایی : هر عضو آرایه employees ، دارای یک فیلد firstname و یک فیلد lastname با مقدار تعیین شده می باشد ، که هر کدام اطلاعات یک فرد را نگهداری می کند .

 

دنبال کردن این مطلب

بررسی فرق بین تکنولوژی XML و JSON

در بخش قبل گفتیم که JOSN و XML هر دو برای ذخیره و انتقال اطلاعات متنی به کار می روند .
اما JSON روش جدیدتری بوده و به عنوان جایگزینی برای XML معرفی شده است . در لیست زیر به بررسی اختلافات و شباهت های این دو نوع تکنولوژی پرداخته ایم :

موارد تشابه :

هر دو زبان XML و JSON خود تعریف ( Self Describing ) هستند . یعنی فهمیدن و خواندن آنها برای انسان راحت و قابل درک است .
هر دو زبان XML و JSON از ساختار سلسله مراتبی ( درختی ) برای ذخیره اطلاعات استفاده می کنند ( یعنی مقدار در مقدار ) .
هر دو زبان XML و JSON توسط زبان های برنامه نویسی مختلف قابل خواندن هستند .
هر دو زبان XML و JSON توسط یک شی XMLHttpRequest قابل بازیابی و خواندن هستند .
موارد اختلاف و برتری های JSON :

JSON بر خلاف XML دارای تگ انتهایی نیست .
ساختار دستوری JSON بسیار کوتاه تر می باشد .
JSON برای خواندن بسیار راحت تر و سریعتر است .
JSON می تواند از آرایه ها استفاده کند ( بر خلاف XML ) .
اما مهمترین اختلاف این است که XML باستی توسط یک پرادزشگر XML خوانده شود ، ولی JSON به راحتی توسط یک تابع ساده جاوا اسکریپت قابل دسترسی و بازیابی است .

استفاده از JSON در Ajax بهتر است

به طور کلی استفاده از JSON برای خواندن و ذخیره اطلاعات بسیار بهتر و سریعتر است .
اما در Ajax این مورد ، بسیار پر رنگ تر به نظر می رسد . فرض کنید اطلاعات یکسانی را در دو فرمت XML و JSON دارید . برای بازیابی و خواندن هر دو فرمت اطلاعات بایستی مراحل زیر را انجام دهید . همانطور که مشاهده می کنید کار در JSON راحت تر و سریع تر است :

مراحل خواندن یک فایل XML در AJAX :

خواندن و بازیابی فایل XML .
استفاده از یک شی XML DOM برای حرکت در فایل و یافتن اطلاعات مورد نظر .
به دست آوردن مقادیر ( Values ) و ذخیره آنها در متفیرها ( Variables ) .
مراحل خواندن یک فایل JSON در AJAX :

خواندن و بازیابی فایل JSON .
پردازش و جدا سازی اطلاعات فایل JSON توسط متد JSON.Parse در جاوا اسکریپت .

دنبال کردن این مطلب

تشریح یک مثال ساده JSON

در این درس ، به تشریح یک مثال ساده از نحوه تعریف اشیا ( Objects ) در JSON و سپس خواندن و ذخیره کردن آن توسط جاوا اسکریپت می پردازیم . در درس بعدی هم بر روی ساختار ( Syntax ) کدنویسی JSON تمرکز خواهیم کرد .

فرمت JSON ، بسیار شبیه نحوه تعریف اشیای جاوا اسکرییت می باشد . به خاطر همین ، بر خلاف XML که از یک پارسر جداگانه ( Parser ) برای خواندن و فایل های استفاده می کند ، در JSON یک تابع جاوا اسکریپت می تواند اشیای JSON را خوانده و پردازش کند .
به عبارت دیگر ، برای خواندن و بازیابی اطلاعات اشیای JSON ، قفط کافی است درون صفحه وب خود توسط اسکریپت یک تابع جاوا اسکریپت تعریف نموده و خودش باقی کارها را انجام می دهد .

مثال : به کد زیر توجه کنید . آن را یکبار خوانده و سپس به بررسی توضیحات بپردازید :

<html>
<body>
<h2> JSON مقدار دهی و خواندن یک شی داده ای در </h2>
<p id="demo"></p>
<script>
var text = ' { " name " : " John Johnson" , " street " : " Oslo West 16 " , " phone " : " 555 1234567 " } ';
var obj = JSON.parse( text );

document.getElementById("demo").innerHTML =
obj.name + "<br>" +
obj.street + "<br>" +
obj.phone;
</script>
</body>
</html>

خروجی کد بالا :

JSON Object Creation in JavaScript

John Johnson
Oslo West 16
555 1234567

توضیح هر یک از بخش های مثال :

در این بخش یک تگ <p> یا پاراگراف با id برابر با demo را تعریف کرده ایم تا در انتهای برنامه ، اطلاعات خوانده شده را درون آن ریخته و نمایش دهیم .
در قسمت آبی رنگ یک اسکریپت به زبان JavaScript نوشته شده تا ابتدا یک شی JSON را تولید کرده و سپس مقادیر هر یک از خواص آن را خوانده و نمایش دهیم .
در قسمت قرمز ، یک شی جدید JSON به نام text را تعریف کرده ایم . این شی دارای 3 خاصیت به نام های name , street , phone می باشد که به هر کدام مقدار دلخواهی داده شده است .
در قسمت نارنجی ، توسط متد parse زبان JSON شی متنی text را پردازش کرده و اطلاعات آن را به صورت یک Object درون شی جاو اسکریپتی obj ذخیره کرده ایم . با این کار ، برنامه از این پس می تواند از طریق کدهای جاوا اسکریپت و برنامه نویسی شی گرا به هر یک از خواص شی obj و مقدار آن دسترسی داشته باشد .
در قسمت سبز رنگ هم ، به ترتیب هر یک از خواص شی obj به نام های name , street و phone را خوانده و آنها را با عمل + به هم چسبانده ایم . سپس رشته متنی ایجاد شده را درون HTML تگ پاراگراف demo ریخته و در صفحه نمایش داده ایم .

دنبال کردن این مطلب

JSON چیست ؟

JSON مخفف عبارت JavaScript Object Notation یا به عبارتی سیستم ثبت و نشانه گذاری اشیای جاوا اسکریپت می باشد .
در ابتدا برای انتقال اطلاعات متنی و اطلااعاتی که برای همه دستگاه ها قابل خواندن و درک باشد ، از زبان XML استفاده می شد .
اما بعدا توسط Douglas Crockford و بر پایه زبان جاوا اسکریپت ، سیستمی ابداع شد که توسط آن ، بتوان اطلاعات متنی را با فرمت راحت تری انتقال داده و از طرف دیگر به راحتی توسط خود جاوا اسکریپت قابل پردازش و تولید باشد .
برای درک بهتر ، ابتدا به بررسی نحوه ذخیره و بازیابی اطلاعات در دو تکنولوژی XML و JSON می پردازیم .

مثال 1 : کد زیر یک شی ( Object ) آرایه ای که دارای 3 عضو می باشد را در JSON تعریف می کند . هر یک از عضوهای این شی دارای دو خاصیت firstname و lastname بوده که مقدارهای آنها در " " مقابلشان تعیین شده اتد . نام شی هم employees می باشد :

{ " employees " : [
{ " firstName " : " John " , " lastName " : " Doe " },
{ " firstName " : " Anna " , " lastName " : " Smith " },
{ " firstName " : " Peter " , " lastName " : " Jones " }
]}

نتیجه گیری : بنابراین JSON ابداع شده تا روش جایگزین بهتری برای XML بوده و به وسیله آن ، تولید ، ذخیره و انتقال اطلاعات متنی ، با فرمت راحت تری صورت بگیرد .

JSON به صورت خلاصه دارای خصوصیات اصلی زیر است :

JSON مخفف عبارت JavaScript Object Notation است .
JSON ، روش بهتری برای ذخیره اطلاعات بوده و به عنوان جایگزینی برای XML مطرح شده .
JSON یک فرمت متنی ساده و سبک برای انتقال اطلاعات است .
JSON مستقل از هر گونه زبان برنامه نویسی می باشد ( توضیح اینکه JSON از Syntax و ساختار جاوا اسکریپت برای ذخیره اطلاعات استفاده می کند ، اما در نهایت این تکنولوژی همانند XML از متن تشکیل شده و توسط زبان های مختلف برنامه نویسی قابل خواندن است ) .
JSON یک سیستم خود تعریف می باشد ، یعنی خودش ساختار و اشیای آن را تعریف می کند .
فرمت فایل های JSON از نوع json. بوده و مدیا تایپ آن application/json می باشد .

موارد کاربرد :

فرمت JSON جهت سریال کردن و انتقال اطلاعات در بستر شبکه به کار می رود .
JSON به صورت خاص برای انتقال اطلاعات بین سرور و نرم افزار تحت وب استفاده می شود .
وب سرویس ها و API ها از JSON برای اشتراک گذاری اطلاعات خود استفاده می کنند .
معمولا برای ساخت برنامه های اسکریپتی استفاده شده و توسط کلیه زبان های برنامه نویسی جدید ، فابل استفاده است .

دنبال کردن این مطلب
ratingValue4.8 worstRating 1 bestRating 5 reviewCount 265