JSON کوتاه شده ی عبارت «Javascript Object Notation» به معنی «نشان گذاری شیء جاوااسکریپت» است. JSON شیوه ای است که با کمک آن اشیا و اطلاعات برنامه نویسی به متن قابل پردازش توسط رایانه و قابل فهم برای انسان تبدیل می شوند.
نکته مهم در این شیوه قابلیت فهم آسان توسط انسان است که در دیگر شیوه ها مانند XML کمتر به آن توجه شده است.
همان گونه که از نام JSON مشخص است، جاوااسکریپت به صورت پیش فرض می تواند رشته های JSON را پردازش و آن ها را ایجاد کند. افزون بر جاوااسکریپت، تقریبا تمام زبان های برنامه نویسی متداول با کمک کتابخانه های جانبی از JSON پشتیبانی می کنند.

[align=center]

[/align]

برای ساخت عبارت های JSON چند قانون ساده وجود دارد که به کوتاهی آن ها را مرور می کنیم:

  • عبارت های JSON باید میان آکولاد «{}» قرار بگیرند.
  • اعضای شیء با علامت ویرگول«,» از هم جدا می شوند
  • برای تعریف یک عضو در یک شیء JSON، ابتدا «نام عضو» سپس دونقطه«:» و در پایان «مقدار» نوشته می شود
  • مقدار می تواند یکی از انواع «عدد»، «رشته»، «بولی»، «آرایه»، «شیء» و «نال» را بپذیرد. سایر انواع داده باید به صورتی دیگر ذخیره شوند
  • انواع رشته ای باید داخل دو گیومه «"» قرار بگیرند
  • بسته به زبان مبدا و مقصد انواع داده ی دیگری نیز ممکن است قابل پذیرش باشند

با توجه به قانون های گفته شده، یک شیء ساده ی JSON در جاوااسکریپت را این گونه تعریف می کنیم:

var myObj = {
    fname: "Amir Masoud",
    lname: "Irani",
    regNo: 2020,
    likes: [ "programming", "software", "sleeping" ]
};

همان گونه که مشاهده می کنید در شیء بالا چهار عضو با انواع «رشته»، «عدد» و «آرایه» تعریف شده اند.
استفاده از این شیء در جاوااسکریپت بسیار ساده است:

alert( myObj.fname );
alert( myObj.lname );
alert( myObj.regNo.toString() );
alert( myObj.likes[ 0 ] );

از مهم ترین کاربردهای JSON انتقال اطلاعات میان جاوااسکریپت و زبان های سمت کارساز مانند php و asp.net است. برای تبدیل رشته ای حاوی اشیای JSON در جاوااسکریپت می توان به صورت زیر عمل کرد. البته پیش از آن از صحت کد مطمئن شوید.

var myJSON = '{ name: "AMIB", regNo: 2020 }';
var myObj = eval("(" + myJSON + ")");
 
alert( myObj.name );

برای تبدیل یک شیء به رشته ای حاوی JSON هم از دستور زیر می توانید استفاده کنید:

var myObj = {
    name: "AMIB",
    regNo: 2020
};
 
var myJSON = JSON.stringify( myObj ); // myJSON = '{name:"AMIB",regNo:2020}'
alert( myJSON );

در زبان جاوااسکریپت محدودیت های کمتری برای تعریف JSON وجود دارد. برای مثال می توان یک تابع را به عنوان مقدار برای عضو تعریف کرد یا اینکه به جای گیومه از علامت آپستروف «'» برای تعریف انواع رشته ای استفاده کرد.

پشتیبانی از JSON در آخرین ویرایش جاوااسکریپت استانداردسازی شده است. برخی از مرورگرهای قدیمی تمامی ویژگی های JSON را به درستی پیاده سازی نکرده اند بنابراین بهتر است پیش از انتشار نهایی، نرم افزار خود را به خوبی آزمایش کنید.

amib.ir