آموزش اندروید-فصل ۲۷-۴: JSON چیست؟

در ادامه مطالب مربوط به اتصال به اینترنت و ارسال و دریافت اطلاعات، حالا نوبت آشنایی با قالب JSON برای تبادل اطلاعات است.

JSON چیست؟

JSON یا Javascript Object Notation یک فرمت بسیار ساده و سبک برای تبادل اطلاعات است. به سادگی قابل خواندن و نوشتن توسط انسان است و تجزیه آن برای ماشین (رایانه) بسیار ساده است. JSON کاملاً مستقل از زیان‌های برنامه‌نویسی است و از نشانه‌هایی استفاده می‌کند که برای برنامه‌نویسان آشنا به زبان C و زیان‌های مشتق شده از C مانند C++، جاوا، C#، جاوااسکریپت، پرل و پایتون و خیلی زبان‌های دیگر آشنا است.

JSON از دو ساختار ساده تشکیل شده است:

  • تعدادی جفت نام/مقدار. در بسیاری از زبان‌های برنامه‌نویسی به این مجموعه شیء یا Object گفته می‌شود؛
  • فهرست مرتبی از مقادیر که معادل آرایه، وکتور، لیست یا sequence در سایر زبان‌های برنامه‌نویسی است.

اطلاعات در JSON به شکل زیر هستند:

یک شیء فهرست نامرتبی از جفت‌های نام/مقدار است. هر شیء با } (براکت شکسته باز) آغاز و با { (براکت شکسته بسته) تمام می‌شود. جفت‌های نام/مقدار با , (کاما) از هم جدا می‌شوند و بین نام و مقدار : (دو نقطه) قرار می‌گیرد.

json-object

آرایه لیست مرتبی از مقدارها است. آرایه با ] (براکت باز) آغاز شده و با [ (براکت بسته) تمام می‌شود و مقدارها با , (کاما) از هم جدا می‌شوند.

json-array

«مقدار» می‌تواند یک «رشته متنی» داخل ” (دابل کوت)، عدد، true یا false، شیء یا یک آرایه باشد.

json-value

«رشته متنی» دنباله‌ای از صفر یا بیشتر کاراکتر یونیکد است که داخل ” (دابل کوت) قرار می‌گیرد و در آن می‌توان از فرمت‌دهنده‌های \ (بک اسلش) استفاده کرد. برای یک کاراکتر تنها هم از رشته متنی به طول یک استفاده می‌:نیم. ساختار رشته‌های متنی در JSON تقریباً همان ساختار رشته متنی در زبان‌هایی مثل C و Java است.

json-string

عدد (number) بسیار شبیه عدد در C یا Java است، به استثنا اینکه از فرمت‌های دهدهی و هگزادسیمال استفاده نمی‌شود.

json-number

برای درک بهتر JSON فرض کنید می‌خواهیم اشیاء ساخته شده از یک کلاس جاوا را به فرمت JSON تبدیل کنیم. این اشیاء از روی کلاس زیر ساخته شده‌اند:

public class Person {
    private String name;
    private String family;

    public Person(String name, String family) {
        this.name = name;
        this.family = family;
    }

    // Getters and Setters...
}

حالا اگر از روی این کلاس یک شیء با مقادیر زیر بسازیم:

Person person = new Person("Ali","Behzadian");

اگر بخواهیم آن شیء را به فرمت JSON تبدیل کنیم، JSON خروجی شبیه این می‌شود:

{
"name" : "Ali",
"family" : "Behzadian"
}

اگر بخواهیم یک آرایه از این اشیاء را به فرمت JSON تبدیل کنیم، چیزی شبیه این خواهد شد:

[
    {
        "name" : "Ali",
        "family" : "Behzadian"
    }
    ,
    {
        "name" : "Ehsan",
        "family" : "GhorbanNejad"
    }
]

در مطلب بعدی نحوه کار کردن با JSON در جاوا و اندروید را می‌بینید.

8 فکر می‌کنند “آموزش اندروید-فصل ۲۷-۴: JSON چیست؟

  1. بهار

    مرسی از اموزش های خوبتون ولی سایتتون رابطه ی کاربری خیلی بدی دارع
    من الان مطلب بعد این اموزشتونو می خوام ولی باید سرچ بزنم که خوب اگه درست سرچ بزنم و اگه بیاره چیزی که می خوام

    پاسخ
  2. hamid

    سلام
    ممنون از مطالب و آموزش های عالی تون
    نحوه آموزش ها و سبک نوشتنتون واقعا عالیه . روان و ساده .

    پاسخ
  3. تیمور

    سلام من خیلی علاقه مندم برنامه نویسی اندروید رو یاد بگیرم ولی نمیدونم از کجا شروع کنم میخوام اپلیکیشن یه دیکشنری رو بسازم لطفا راهنماییم کنید

    پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *