جی‌سان JSON چیست؟

جی‌سان (JSON) معادل عبارت JavaScript Object Notation به معنی “نشانه‌گذاری اشیاء در جاوااسکریپت” است. یک قالب استاندارد متن باز سبک که امکان تبادل داده‌ها را به صورت خوانا برای انسان، ممکن ساخته است. جی‌سان مستقل از زبان‌های برنامه نویسی بوده و مفسرهایش تقریبا در هر زبانی موجود است. جی‌سان فقط یک ساختار متنیست که انواع داده‌ها را سازماندهی می‌کند.

قواعد ساختاری جی‌سان JSON

بخاطر رابطه جی‌سان با جاوااسکریپ، قواعد ساختاری این استاندارد، از نحوه نشانه‌گذاری اشیاء جاوا اسکریپت نشات گرفته است:

  • داده‌ها به صورت جفت‌های name/value (یا key/value) هستند
  • جداکننده بین key و value توسط (:) است
  • داده‌ها توسط کاما (,) جدا می‌شوند
  • آکولاد {} ها اشیاء را نگهداری می‌کنند
  • برکت [] ها آرایه‌ها را نگهداری می‌کنند
  • در جی‌سان name یا key بایستی به صورت string بوده و داخل “” قرار گیرد.
  • فایل‌های جی‌سان با فرمت .json ذخیره می‌شوند.
  • مقادیر جی‌سان بر خلاف جاوااسکریپت، نمی توانند نوع تابع، تاریخ و تعریف نشده داشته باشند.
  • تمام key ها در نوع داده object به صورت رشته بوده و نمی‌توانند تکراری باشند.

انواع داده‌های جی‌سان JSON

  • اعداد/number (صحیح یا حقیقی)

{“age”:30}

  • رشته/string (کدهایی که با محصور شده اند)

{“name”:“Hadi”}

  • مقدار منطقی/boolean (true یا false)

{“sale”:true}

  • آرایه/array (لیستی مرتب از مقادیر که در میان [] قرار گرفته و جزءهای آن با کاما از هم جدا می‌شوند، ترتیب مقادیر در این لیست اهمیت دارد)

{
“employees”:[“Hadi”“Milad”“Omid”]
}

  • شئ/object (مجموعه‌ای از جفت‌های name و value که در میان {} قرار گرفته اند. اشیاء در جی‌سان باید از قواعد ساختاری اصلی پیروی کنند، ترتیب جفت‌ها در این لیست اهمیت ندارد)

{
“employee”:{“name”:“Hadi”“age”:30“city”:“Urmia”}
}

  • تهی/Null
{“middlename”:null}

پشتیبانی جی‌سان JSON در Qt

پشتیبانی از JSON در Qt، یک رابط کاربری ++C برای parse ،modify و save داده‌های جی‌سان فراهم می‌کند. یک سند ساده جی‌سان:

{
    "FirstName": "John",
    "LastName": "Doe",
    "Age": 30,
    "Address": {
        "Street": "Downing Street 10",
        "City": "London",
        "Country": "Great Britain"
    },
    "Phone numbers": [
        "+44 1234567",
        "+44 2345678"
    ]
}

فایل json. مثال بالا، به صورت کلی یک شئ بوده، که شامل 4 جفت key/value است. دو تا از آنها string، یکی number، یکی object و اخرین مورد array است. به سادگی مشاهده می‌کنید که یک سند json. باید یک array یا object باشد، بنابرین محتویات این سند داخل {} یا [] قرار می‌گیرند.

کلاس‌های جی‌سان در Qt

QJsonArray گنجاندن یک آرایه JSON
QJsonDocument خواندن یا نوشتن اسناد جی‌سان
QJsonObject گنجاندن یک شئ JSON
QJsonObject::const_iterator فراهم کردن یک STL-style const
QJsonObject::iterator فراهم کردن یک STL-style non-const
QJsonParseError گزارش خطاها در حین تبدیل جی‌سان
QJsonValue گنجاندن یک مقدار در JSON
0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

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

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