JSON چیست؟ - زیپ
X
تبلیغات
رایتل
دوشنبه 30 شهریور 1388 @ 02:17 ق.ظ

JSON چیست؟

JSON Logo

json مخفف JavaScript Object Notation هست که در واقع فرمتی از TEXT برای ذخیره و بازیابی اطلاعات در زبانهای مختلف می باشد و می توان برای رد و بدل کردن اطلاعات در بین زبانهای مختلف برنامه نویسی استفاده کرد. مثلا بین PHP و جاوااسکریپت. چیزی که بیشتر به ذهن من می رسد جایگزینی برای XML است که از دارای مزیتهای زیادی در این باره می باشد. یکی اینکه دسترسی به اطلاعات آن راحتتر هست و دیگر نیازی به استفاده از توابع بسیار سخت DOM برای دسترسی به اطلاعات نیست .
شما می توانید کتابخانه های مربوط رو از همین سایت ردیابی و به صورت رایگان دریافت کنید
البته در PHP نسخه 5.2.0 نیز اکسشن JSON به صورت پیش فرض نصب شده است.
تا یادم نرفته بگم که مشکلی هم با UTF-8 ندارد
فرض کنید که شما اطلاعات خودتون رو به فرمت XML ذخیره کردید به این صورت




 
    vahid
    123-456-7890
   


      123 JFKStreet
      Any Town
      Any State
      12345
   

 



حال فرمت JSON به این صورت است

{
  "contacts" : {
   "contact" : {
     "@attributes" : {
      "id" : "1"
     },
     "name" : "vahid",
     "phone" : "123-456-7890",
     "address" : {
      "street" : "123 JFK Street",
      "city" : "Any Town",
      "state" : "Any State",
      "zipCode" : "12345"
     }
   }
  }
}

How JSON Works?

تنها کار شما با تو تابع هست این توابع در php مورد استفاده قرار می گیرد json_decode و json_encode که
json بیشتر مورد علاقه ajax کارهاست.

ببینید به زبان خیلی ساده برای اینکه متوجه شین Json چی هست و چرا ازش استفاده میکنند اینو میتونم بگم که فرض کنید در زبان PHP شما یه آرایه ای دارید و میخواید در سمت کلاینت هم همین آرایه رو به صورت جاوا اسکریپت داشته باشید. چند تا راه برای این کار وجود داره مثلا استفاده از XML ,ساده ترین راه اینه که خودتون بشینید کد مربوط به تولید آرایه و قرار دادن این داده ها به صورت جاوا اسکریپت رو در سمت سرور تولید کنید و برای کلاینت بفرستید. ساده ترین راه هم برای انجام این کار اینه که آرایتون رو بدین به تابع مربوط به JSon تا اون براتون این کار رو بکنه.

بطور مثال شما اگر میخواستید برای ارسال یک آرایه از سمت php (سرور) به سمت جاوااسکریپت (کلاینت) باید چکار میکردید؟
json کار تبدیل آرایه شما به شکل جاوااسکریپت و تبدیل دوباره آن از جاوا اسکریپت به نوع آرایه زبان روبرو را به عهده دارد، همین.

مثال:

یک آرایه در Php:

Array
(
    [0] => Array
        (
            [1] => a
            [2] => aa
        )

    [1] => Array
        (
            [1] => b
            [2] => bb
        )

    [2] => Array
        (
            [1] => c
            [2] => cc
        )

)

تبدیل شده آن با json:

[{"1":"a","2":"aa"},{"1":"b","2":"bb"},{"1":"c","2":"cc"}]

قبلا این کار با xml هم به عنوان واسط اطلاعات امکان پذیر بود.
اما در آنصورت در سمت کلاینت توسط یک پارسر که بر روی همه بروزرها موجود است به واسطه اسکریپت تبدیل میشد.

 

البته شما می توانید اطلاعات بیشتر رو در سایتی که معرفی کردم مشاهده کنید در منوال php هم می توانید به آدرس PHP: JSON Functions - Manual مراجعه کنید. همچنین اگر از سایت مورد علاقه همه google استفاده کنید اطلاعات بیشتری رو کسب خواهید کرد.
برای کسب اطلاعات بیشتر در مورد این فرمت هم می تونید از سایت
Flickr Services
دیدن فرمایید

 

منابع: برنامه نویس، پی سی زیپ