رفتن به مطلب
انجمن الکترولب

پست های پیشنهاد شده

سرنام واژگان JavaScript Object Notation یک استاندارد سبک، باز ، متنی و خوانا برای انسان جهت انتقال داده و جایگزینی برای xml است. قراردادهای مورد استفاده ی JSON برای تمامی برنامه نویسان از جمله برنامه نویس C، C++، Java، Python، Perl شناخته شده است که به شرح زیر می باشد:

  1. JSON مخفف JavaScript Object Notation است.
  2. فرمت آن برای اولین بار توسط Douglas Crockford معرفی شد.
  3. برای انسان خوانا بوده و ویژه ی انتقال داده طراحی شده است.
  4. از زبان اسکریپت نویسی JavaScript مشتق شده است.
  5. پسوند فایل های با فرمت جی سن .json می باشد.
  6. Media type این فرمت انتقال داده application/json است.
  7. شناسه ی متحدالشکل نوع (UTI) آن public.json است.

موارد استفاده ی JSON

  • به هنگام نوشتن برنامه های تحت وب مبتنی بر جاوا اسکریپت که افزونه هایی برای مرورگر و وب سایت ها را شامل می شوند بکار می رود.
  • برای serialize کردن و انتقال داده های ساخت یافته از طریق اتصال شبکه بکار می رود.
  • عمدتا برای انتقال داده بین سرور و برنامه های تحت وب بکار می رود.
  • Web service ها و API ها از فرمت JSON برای ارائه ی داده های public بهره می گیرند.
  • تمامی زبان های برنامه نویسی روز از آن پشتیبانی می کنند.

ویژگی های JSON

  • خواندن و نوشتن در آن آسان است.
  • یک فرمت متنی تبادل داده سبک و کم حجم است.
  • با اینکه از زبان JavaScript مشتق شده، از این زبان کاملا مستقل است و مفسر (parser) آن برای تمامی زبان ها موجود می باشد.

نمونه ی ساده از JSON

مثال زیر نحوه ی استفاده از JSON را برای ذخیره ی اطلاعات مربوط به مجموعه ای از کتاب ها بر اساس موضوع و ویرایش هر یک، نمایش می دهد:

{
  "book": [ 
     {
        "id":"01",
        "language": "Java",
        "edition": "third",
        "author": "Herbert Schildt"
     },           
     {
        "id":"07",
        "language": "C++",
        "edition": "second",
        "author": "E.Balagurusamy"
     }
  ]
}

نمونه ی دیگری را در زیر مشاهده می کنید. این کد را با پسوند json.htm ذخیره می کنیم:

language = "javascript" >
        var object1 = { "language" : "Java", "author" : "herbert schildt" };
        document.write("
JSON with JavaScript example
");
        document.write("
");
        document.write("
Language = " + object1.language+"
"); 
        document.write("
Author = " + object1.author+"
");  
        var object2 = { "language" : "C++", "author" : "E-Balagurusamy" };
        document.write("
");
        document.write("
Language = " + object2.language+"
"); 
        document.write("
Author = " + object2.author+"
");  
        document.write("
");
        document.write(object2.language + " programming language can be studied " + "from book written by " + object2.author);
        document.write("");      

حال با مرورگر IE یا هر مرورگر دیگری که JavaScript در آن فعال سازی شده، فایل json.htm را باز می کنیم. نتیجه ی زیر را بدست می دهد:

نمونه ی ساده از JSON

منبع http://www.tahlildadeh.com/ArticleDetails/JSON-چیست

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

و یک تعریف دیگه از سایت دیگه قالب JSON و ساختار آن

جی‌سن (JSON) ساختاری (فرمت) با استاندارد باز است که در انتقال اطلاعات و داده‌ها (مثلاً بین مرورگر و سایت) استفاده شده و برای انسان قابل خواندن است.

JSON چیست؟

جی‌سن (JSON) که برخی جی‌سان و جی‌سون نیز تلفظ می‌کنند، مخفف کلمه JavaScript Object Notation بوده و یک استاندارد باز است که با ساختاری خوانا برای انسان و هم ماشین، می‌توان اطلاعات و داده‌های مختلف از جمله داده‌های یک دیتابیس را با استفاده از آن، بین عوامل مختلف مثلاً مرورگر کاربر و یک سایت منتقل کرد یا در فضای ذخیره سازی‌ای، آن را ذخیره نمود.

یکی از مهمترین کاربردهای JSON، استفاده از آن در تکنولوژی آزاکس (AJAX) است. آژاکس تکنولوژی‌ای است که با استفاده از زبان جاوا اسکریپت، درخواست‌هایی به سرور وبسایت ارسال می‌کند و بدون نیاز به تغییر آدرس صفحه یا بارگذاری مجدد آن، تغییراتی را در صفحه ایجاد می‌کند. به این ترتیب صفحاتی پویا یا داینامیک خواهیم داشت. درست است که در آژاکس همانطور که از نامش (Asynchronous JavaScript and XML) هم پیداست، اطلاعات رد و بدل شده در قالب XML انجام می‌پذیرد اما از زمان معرفی JSON، قالب مورد استفاده از XML به JSON تغییر داده شد.

به دلیل مزایای جی‌سن نسبت به ایکس‌ام‌ال، JSON نه تنها در جاوا اسکریپت بلکه در سایر زبان‌ها نیز استفاده می‌شود. یعنی به عبارت دیگر JSON یک محتوای متنی است که به زبانی وابسته نیست و تقریباً در اکثر زبان‌ها از جمله PHP، C#، C++، C، ASP.NET، Java و بسیاری از زبان‌های دیگر قابل تولید و تجزیه سازی و همینطور برای انسان به راحتی قابل نوشتن و خواندن است.

ساختار JSON

ساختار جی‌سن بسیار ساده است و همین سادگی یکی از دلایل برتری آن نسبت به ایکس‌ام‌ال است چون با این ساختار، خود کاربر و انسان نیز می‌تواند به راحتی محتوا را بخواند. قواعد کلی یک نوشته بصورت JSON به این شکل است:

محتوای داخل JSON با آکولاد باز } شروع شده و با آکولاد بسته { تمام می‌شوند. این بلاک به عنوان آبجکت مادر نیز شناخته می‌شود.

{

 آبجکت‌ها، آرایه‌ها و مقادیر

}

 

آبجکت‌ها

شیء یا آبجکت (Object) در JSON شامل مجموعه‌ای نامرتب از داده‌ها (نام/مقدار) است که دارای یک نام رشته‌ای (داخل " ") به عنوان کلید است. کلید آبجکت‌ها بهتر است منحصر به فرد باشد تا به راحتی قابل تمایز باشند. آبجکت‌ها با آکولاد باز } شروع شده و با آکولاد بسته { تمام می‌شوند. کلید با کاراکتر دو نقطه : از آکولاد باز جدا می‌شود. داده‌های داخل آبجکت باید با کاراکتر کاما ( , ) از یکدیگر جدا شوند.

آبجکت یا شیء در JSON

آبجکت یا شیء در JSON
عکس خام: json.org

برای مثال:

{
    "Me": {
    "fname": "Amirreza",
    "lname": "Nasiri",
    "birth": 1996
    }
}

در مثال بالا ما یک آبجکت با نام کلید Me داریم که دارای خصوصیاتی با مقادیر fname برابر Amirreza و lname برابر Nasiri و birth برابر ۱۹۹۶ است.

 

آرایه‌ها

آرایه یا Array در JSON می‌تواند شامل چندین مقدار (از یک نوع ارزش) باشد. آرایه‌ها معمولاً دارای یک نام رشته‌ای (داخل " ") به عنوان کلید است. کلید آرایه‌ها بهتر است منحصر به فرد باشد تا به راحتی قابل تمایز باشند. آرایه‌ها با براکت باز ] شروع شده و با براکت بسته [ تمام می‌شوند. کلید با کاراکتر دو نقطه : از براکت باز جدا می‌شود. آبجکت‌های داخل آرایه باید با کاراکتر کاما ( , ) از یکدیگر جدا شوند.

آبجکت یا شیء در JSON

آرایه در JSON
عکس خام: json.org

 

برای مثال: آرایه‌ای از آبجکت‌ها (ارزش)

{
    "Persons": [
    {"fname": "Amirreza", "lname": "Nasiri"},
    {"fname": "Alireza", "lname": "Nasiri"},
    {"fname": "Navid", "lname": "Mousavi"}
    ]
}

در این مثال ما یک آرایه به نام Persons داریم که دارای سه آبجکت است. هر آبجکت نیز دو جفت نام/مقدار دارد.

نمونه دیگر: آرایه‌ای از یک نوع مقادیر (ارزش)

{
    "Ages": [
    ۲۵, ۱۲, ۶۵, ۱۶
    ]
}

نکته: آرایه فقط می‌تواند شامل یک نوع ارزش باشد. برای مثال یا همه آیتم‌هایش آبجکت باشد یا رشته یا ... .

 

ارزش‌ها

ارزش یا Value شامل موارد زیر است:

  • رشته‌ها
  • اعداد
  • آبجکتی دیگر
  • آرایه‌ای دیگر
  • مقدار بولی - درست یا غلط (True / False)
  • مقدار تهی (Null)

عنوان ارزش (نوع متغیر) در JSON

عنوان ارزش (نوع متغیر) در JSON
عکس خام: json.org

 

رشته‌ها

رشته یا String همان عبارت‌هایی متشکل از حروف در کاراکتر ست Unicode (یونی کد) هستند. مثلاً یک کلمه. اگر از رشته‌ها در یک آبجکت استفاده کنیم، چون ساختار آبجکت به صورت نام/مقدار است، باید یک نام و یک مقدار برای آن در نظر بگیریم. مانند:

{
    "name": "Amirreza",
    "city": "Tabriz",
    "country": "Iran"
}

توجه کنید که هم نام و هم مقدار چون هر دو از نوع String هستند، باید داخل دو علامت دابل کوتیشن " " قرار دهیم. نام با استفاده از یک کاراکتر دو نقطه : در خارج از دابل کوتیشن، از مقدار جدا می‌شود.

حال اگر آرایه‌ای از فقط نوع رشته داشته باشیم، می‌توانیم فقط مقادیر را در آرایه بنویسیم. مانند:

[
    "Amirreza", "Alireza", "Navid"
]

نکته: برخی از کاراکترها باید با بک اسلش اسکیپ شوند. در جدول زیر می‌توانید این مقادیر را ببینید:

برای نوشتن کاراکتر به این صورت عمل می‌کنیم
" \"
\ \\
/ \/
بک‌اسپیس \b
خط جدید \n
هگزادسیمال \u 4-HexDigits

 

اعداد

عدد یا Number در JSON مانند رشته یا String در بند بالاست با این تفاوت که برای نوشتن مقادیر عددی، نیازی به دابل کوتیشن " " نداریم. به نمونه‌های زیر توجه کنید:

چندین عدد در یک آبجکت:

{
    "age": 18,
    "birth": 1996,
    "stature": 185
}

مقادیری از نوع ارزش عددی در آرایه:

[
    ۱۸, ۲۱, ۱۹
]

نکته: اعداد می‌تواند شامل اعداد اعشاری، صحیح و E مثبت و منفی در ریاضیات باشد.

مقدار بولی

مقدار بولین (Boolean) می‌تواند دو حالت درست (True) و نادرست (False) را در خود نگه دارد. در JSON مانند رشته یا عدد در بند بالاست با این تفاوت که برای نوشتن مقادیر عددی، نیازی به دابل کوتیشن " " نداریم. به نمونه‌های زیر توجه کنید:

چندین مقدار بولی در یک آبجکت:

{
    "isAlive": true,
    "isSoccerPlayer": false,
    "likesGame": true
}

مقادیری از نوع ارزش ترو / فُلس در آرایه:

[
    true, false, true
]

 

مقدار تهی

تهی یا Null یعنی مقدار متغیر ما چیزی ندارد. مثل مقدار بولی در بند بالا پیاده سازی می‌شود. به مثال‌های زیر توجه کنید:

مقدار تهی در یک آبجکت:

{
    "name": "Amirreza",
    "lname": "Nasiri",
    "ifAddress": null
}

مقادیری از نوع ارزش تهی در آرایه:

[
    null, null, null
]

 

منبع این آموزش: http://bytegate.ir/فرمت-json-چیست؟/

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

×