تک دیک

واژه نامه و مجله آموزشی کامپیوتر و تکنولوژی

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

جی سان JSON

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

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

جی سان را می‌توان یک فرمت متنی ساده و سبک برای نگه داری و انتقال داده ها به صورت سازماندهی شده به شمار آورد که درک محتوای آن برای انسان کار آسانی است و علاوه بر این ماشین ها هم به آسانی قادر به ایجاد کردن و تجزیه آن هستند. در این فرمت، داده ها در قالب مجموعه‌ای از جفت‌های نام – مقدار (معادل با آبجکت، آرایه انجمنی یا جدول درهم سازی در زبان های برنامه نویسی مختلف) و لیستی مرتب از مقادیر (معادل با آرایه ها) سازماندهی می‌شوند.

پیدایش JSON همان‌طور که از نامش انتظار می‌رود به زبان جاوا اسکریپت و اوایل دهه 2000 میلادی بازمی‌گردد. با اینحال به دلیل کارایی بالای این فرمت، اغلب زبان‌های امروزی دارای کدهای لازم برای ایجاد و تجزیه داده ها در قالب JSON هستند. محبوبیت این فرمت نیز مدیون فعالیت‌های داگلاس کراکفورد (Douglas Crockford) می‌باشد.

گفتنی است نوع رسانه (Media Type یا MIME Type) مختص به JSON به صورت application/json می‌باشد و پسوند استاندارد فایل هایی که به منظور نگه داری داده ها در این قالب استفاده می‌شود نیز به شکل .json است.

لوگوی جی سان JSON
لوگوی JSON

داده ها در JSON

همان‌طور که گفته شد در این فرمت داده ها به صورت مجموعه‌ای از جفت‌های نام – مقدار و همچنین آرایه‌ای از مقادیر سازماندهی می‌شوند. به عبارت دقیق‌تر، جی سان از انواع داده های اصلی زیر پشتیبانی می‌کند که امکان استفاده تو در توی آن‌ها نیز وجود دارد:

  • اعداد
  • رشته ها (String): دنباله ای از کاراکترها که در میان “” قرار می‌گیرند.
  • بولین (Boolean): با مقادیر true یا false
  • null: به معنای بدون مقدار
  • آرایه (Array): لیستی مرتب از مقادیر که در میان [] قرار می‌گیرند و با کاما از هم جدا می‌شوند.
  • آبجکت یا شئ (Object): مجموعه‌ای نامرتب از جفت‌های نام (name) و مقدار (value) که در میان {} قرار می‌گیرد و در آن نام ها که به ویژگی (attribute) نیز موسوم هستند به صورت رشته ظاهر می‌شوند. هر نام با نماد : (یا کلن) از مقدار منتسب به خود جدا می‌شود و هر جفت نام و مقدار نیز توسط کاما از یکدیگر جدا می‌شوند.

یک مثال ساده

در تصویر زیر می‌توانید نمونه‌ای از نمایش اطلاعات شخصی یک فرد در قالب JSON را مشاهده کنید:

جی سان JSON
مثالی از نمایش اطلاعات یک شخص در قالب JSON

همان‌طور که در این مثال می‌بینید مجموعه‌ای از جفت‌های نام (یا ویژگی) و مقدار، فرد موردنظر را براساس ویژگی‌هایی مثل اسم کوچک و فامیل، شماره ملی، جنسیت و … توصیف می‌کند. نام ها مثل “firstname” و “lastname” و “nationalID” به شکل رشته آمده‌اند و مقادیر موجود در مثال هم به اشکال مختلفی نظیر رشته (مانند “John” برای “firstname” و “Smith” برای “lastname”)، عدد (مانند 123456789 برای “nationalID” و 27 برای “age”)، مقدار بولین (مانند true برای “married”) و null (برای “job”) ظاهر شده‌اند. مقدار منتسب به phone نیز به صورت یک آرایه شامل تعدادی شماره تماس و نوع آن (مربوط به منزل، موبایل و …) می‌باشد که هرکدام از آن‌ها یک شئ با دو ویژگی type و number همراه مقدار منتسب به آن‌هاست.

کاربردهای جی سان

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

JSON و JavaScript

از آنجایی که جی سان یک فرمت متنی است گزینه مناسبی برای انتقال داده ها بر بستر یک شبکه می‌باشد. زمانی که داده ها در این فرمت به صورت یک عبارت متنی توسط کلاینت دریافت می‌شود به منظور استفاده ابتدا لازم است تجزیه شود. در اغلب زبان ها علاوه بر قابلیت تبدیل داده ها به این فرمت، امکان تجزیه آن نیز فراهم شده است. برای مثال در زبان جاوا اسکریپت برای تجزیه رشته ای با فرمت جی سان و تبدیل آن به یک آبجکت جاوا اسکریپت از متد JSON.parse() به شکل زیر استفاده می‌شود:

var obj = JSON.parse(json_str);

که در آن json_str رشته ای با فرمت جی سان است. در صورتی که این رشته حاوی همان متن موجود در مثال فوق باشد برای دسترسی به داده های آن می‌توانید از شیوه مرسوم کار با اشیا در زبان جاوا اسکریپت (برای مثال obj.nationalID جهت دسترسی به مقدار شماره ملی) کمک بگیرید.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

وبسایت json.org

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

ما در تک‌دیک تلاش می‌کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. به همین دلیل هر مطلب پیش از انتشار بارها بازبینی می‌شود. از طرف دیگر با توجه به حجم بالای مطالب به کمک شما هم نیاز داریم. اگر احساس می‌کنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال می‌شویم آن را در بخش دیدگاه‌های همین مطلب با ما در میان بگذارید.

دیدگاه‌ها

4 پاسخ به “جی سان JSON”

  1. masoud نیم‌رخ
    masoud

    سلام لطفا راهنماییم بفرمایید
    چطور میتونم از فایل جی سان اطلاعات رو دسته بندی و استخراج کنم بر اساس اینکه مثلا اگر اطلاعات یک سری اشخاص که در شهرهای مختلف زندگی میکنن تمامی اشخاصی که در تهران زندگی میکنند یا در مشهد و … و اینها رو بتونم در پروژه ام جدا جدا صدا بزنم و کلیک تعریف کنم. ممنون

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

      سلام؛
      سوالتون خیلی کلی هست و متأسفانه پاسخش هم کوتاه نیست. خوشبختانه در بسیاری از زبان های برنامه نویسی امکان ایجاد و خواندن فایل ها و متون دارای فرمت JSON وجود دارد که با جستجو در میان داکیومنت های زبان موردنظر می تونید بهش دسترسی داشته باشید.

  2. مصطفی نیم‌رخ
    مصطفی

    سلام،
    من یک فایل لغت نامه تخصصی طی سالها تهیه کردم و به صورت Json هم درآوردم، حالا می‌خوام اپلیکیشن لغت نامه بنویسم شما چه محیطی رو به من پیشنهاد میکنید،
    البته Android studio رو نصب کردم ولی completion code نرم افزار کارنمیکنه!!!!
    [مابقی دیدگاه به دلیل دارا بودن اطلاعات شخصی حذف شده‌اند]

    1. امیرحسین شهسواری نیم‌رخ
      امیرحسین شهسواری

      سلام مصطفی گرامی؛
      اگر به دنبال ساخت اپلیکیشن برای اندروید هستید طبیعتا پیشنهاد اصلی همون Android Studio هست که خودتون فرمودید.

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

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

نوشته‌های بیشتر

تبلیغات متنی ساده