جیسون یک قالب سبک وزن (lightweight) برای ذخیره و حملونقل داده است. مانند XML، اما چرا بعضیها JSON را به XML ترجیح میدهند؟ شاید بخاطر خوانایی بیشتر آن نسبت به XML و محبوبیت زبان JavaScript است.
جیسون غالباً برای ارسال داده از یک وب سرور به یک صفحه وب استفاده میشود.
جیسون خود توصیف (self-describing) است یعنی فهم کدهای آن به دلیل ساختار نام/مقدار (name/value) بسیار آسان است.
در ابتدا قصد داریم با مثالی از JSON شروع و آشنایی مختصری با آن پیدا کنیم. با این حال اگر این مثال را متوجه نشدید نگران نباشید، در ادامه مطلب بطور کامل به درک مفهوم و نحوه نوشتن کدهای جیسون میپردازیم.
مثال زیر یک شئ با نام “employees” به معنای کارمندان تعریف کرده است که مقدار این شی حاوی آرایهای با ۳ عنصر است. که هر عنصر آرایه یک شئ است که مشخصات یک کارمند را دربر میگیرد.
قواعد نحوه نوشتن JSON
+ دادهها در جفتهایی بصورت نام/مقدار (name/value) قرار میگیرد.
+ دادهها با علامت کاما از هم جدا میشوند.
+ علامتهای { } اشیاء را نگه میدارند.
+ علامتهای [ ] آرایهها را نگه میدارند.
نشانهگذاری شئ جاوا اسکریپت
قالب JSON از لحاظ نحوی با قالب کدهای ایجاد اشیاء در جاوااسکریپت یکسان است.
به دلیل این شباهت، یک برنامه جاوااسکریپت میتواند به راحتی دادههای جیسون را به اشیاء بومی جاوااسکریپت تبدیل کند.
نحوه نوشتن جیسون از نحوه نوشتن اشیاء جاوااسکریپت نشات گرفته است، اما قالب آن فقط متن است. کد خواندن و تولید جیسون را میتوان با هر زبان برنامه نویسی نوشت.
دادههای JSON
دادههای JSON بصورت زوجهای نام/مقدار (name/value) نوشته میشوند، دقیقا مانند خصوصیات شئ جاوااسکریپت.
یک زوج نام/مقدار شامل یک فیلد نام (درون جفت کوتیشن)، و به دنبال آن یک علامت دونقطه، و بعد از آن مقدار، است.
"firstName":"John"
نامها (names) در جیسون باید درون جفت کوتیشن قرار گیرند، اما نامهای جاوااسکریپت نه.
اشیاء JSON
اشیاء JSON درون پرانتز نوشته میشوند.
دقیقا مانند جاوااسکریپت، اشیاء میتوانند حاوی چندین زوج نام/مقدار (name/value) باشند.
{"firstName":"John", "lastName":"Doe"}
آرایههای JSON
آرایههای JSON درون براکت نوشته میشوند.
درست مانند جاوااسکریپت، آرایه میتواند حاوی اشیاء باشد.
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
در مثال بالا، شئ “employees” شامل یک آرایه است که این آرایه شامل ۳ شئ میباشد.
هر شئ یک رکورد از یک شخص است (با یک نام و نام خانوادگی).
تبدیل یک متن JSON به یک شئ جاوااسکریپت
یک استفاده رایج از جیسون برای خواندن دادهها از وب سرور، و نمایش آن در صفحه وب است.
برای سادگی، میتوان کدهای جیسون را با استفاده از یک رشته (String) به عنوان ورودی نشان داد.
ابتدا یک رشته (متن) جاوااسکریپت که حاوی یک کد جیسون است را ایجاد کنید:
var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
حال از یک تابع داخلی جاوااسکریپت به نام ()JSON.parse برای تبدیل این رشته (string) به یک شئ جاوااسکریپت استفاده کنید.
var obj = JSON.parse(text);
در نهایت، از این شئ جدید جاوااسکریپت در صفحه خود استفاده کنید.
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
این مطلب توضیح و آموزش بسیار کوتاهی از جیسون بود که امیدوارم برایتان مفید باشد. دیدگاهتان درمورد این مقاله را با ما به اشتراک بگذارید.