آموزش هوش مصنوعی

آموزش جی سان در پایتون

برنامه نویسی

آموزش جی سان در پایتون

json یک سینتکس برای ذخیره و تبادل داده است.

JSON مخفف JavaScript Object Notation به معنی نشانه‌گذاری شیء جاوااسکریپت است و به صورت جی‌سان تلفظ می شود(برخی جیسون نیز تلفظ می‌کنند). یک استاندارد باز متنیِ سبک برای انتقال داده‌ها است به گونه‌ای که برای انسان نیز خوانا باشد. جی‌سان از زبان اسکریپت‌نویسی جاوااسکریپت در نشان‌دادن ساختمان داده‌های ساده و آرایه‌های انجمنی مشتق شده‌است. با وجود ارتباط عمیقی که با جاوااسکریپت دارد، جی‌سان مستقل از زبان است و مفسرهایش تقریباً برای هر زبانی موجود هستند.
قالب جی‌سان در ابتدا توسط داگلاس کراکفورد مشخص و در RFC‍۴۶۲۷ شرح داده شده‌است. نوع رسانهٔ اینترنتی رسمی آن، application/json و پسوند فایل‌های جی‌سان ‎.json است.

ویکی‌پدیا

از جی سان معمولا برای انتقل داده بین یک سرویس دهنده و سرویس گیرنده استفاده می‌شود. معمولا API‌ها داده‌های درخواستی اپلیکشن‌ها(وب سایت، اپ موبایل و …) را به در فرمت جی سان بر می‌گرداند.

انواع داده و سینتکس یا دستورزبان جی‌سان

هدف ما در این مقاله بررسی کامل نحو و انواع داده‌ای جی‌سان نیست اما در حد آشنایی آن را بررسی می‌کنیم.

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

  • اعداد (صحیح یا حقیقی)
  • رشته (یونی‌کدهایی که با «”» محصور شده…)
  • مقدار بولی (true یا false، درست یا نادرست)
  • آرایه (دنبالهٔ دارای ترتیبی از مقدارها، جدا شده با ویرگول (,) و محصور شده با «[» و «]»)
  • شیء (مجموعه‌ای از جفت‌های کلید مقداری که جدا شده با ویرگول (,) و محصور شده با «{» و «}»، کلیدها حتما باید رشته باشند)
  • تهی یا null

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

{
    "firstName": "John",
    "lastName": "Smith",
    "age": 25,
    "address": {
        "streetAddress": "21 2nd Street",
        "city": "New York",
        "state": "NY",
        "postalCode": "10021"
    },
    "phoneNumber": [
        {
            "type": "home",
            "number": "212 555-1234"
        },
        {
            "type": "fax",
            "number": "646 555-4567"
        }
    ]
}

جی سان یا جیسون در پایتون

پایتون یک پکیج داخلی برای کار با داده‌های جی سان دارد که نام آن json است. برای کار با این پکیج ابتدا باید ماژول آن را به صورت زیر ایمپورت نمایید.

>>> import json

تجزیه جیسون در پایتون

اگر یک داده رشته‌ای با فرمت جیسون داشت باشید می‌توانید با استفاده از تابع loads که در کلاس json تعریف شده است آن را تجزیه کنید. در اینجا منظور از تجزیه تبدیل جی‌سان به یک نوع داده‌ی معتبر در پایتون است.

تابع loads در پایتون رشته‌ی دریافتی را به یک دیکشنری تبدیل می‌کند.

>>> import json
>>> # some Json
>>> x =  '{ "name":"John", "age":30, "city":"New York"}'
>>> #pars x:
>>> y = json.loads(x)
>>> # the result is a Python dictionary:
>>> # the result is a Python dictionary:
>>> print(y["age"]) 
۳۰

تبدیل داده‌های پایتون به فرمت جی‌سان

اگر شما در پایتون یک شی داشته باشید می‌توانید با استفاده از تابع dumps که در کلاس json تعریف شده است آن را به جی‌سان تبدیل کنید. ما در تکه کد زیر یک دیکشنری را به یک json تبدیل کرده‌ایم.

>>> import json
>>> # a python object (dict):
>>> x = {
...   "name": "John",
...   "age": 30,
...   "city": "New York"
... }
>>> #convert into JSON
>>> y = json.dumps(x)
>>> 
>>> 
>>> #the result is JSON
>>> print(y)
{"name": "John", "age": 30, "city": "New York"}

منبع: w3school

بدون دیدگاه

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

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

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

در این مقاله قصد داریم درمورد الگوریتم دیکسترا کوتاهترین مسیر صحبت کنیم و این الگوریتم را به صورت گام به گام توضیح داده و همراه با رسم شکل مراحل آن را بررسی کنیم. پس اگر علاقمند به یادگیری این الگوریتم هستید در ادامه با ما همراه باشید.

اخبار ایران تکنولوژی
۷ الگوریتم که هر برنامه نویسی باید بداند

ما چند الگوریتم مرتب سازی در این لیست داریم و Merge Sort یکی از مهمترین الگوریتم‌ها است. این یک الگوریتم مرتب سازی کارآمد بر اساس تکنیک برنامه نویسی تقسیم و تسخیر است.

آموزش و هوش مصنوعی
تکنیک های طراحی الگوریتم

الگوریتم روشی است برای حل یک مسئله خاص در تعداد محدودی از مراحل برای ورودی با اندازه محدود. 
الگوریتم ها را می توان به روش های مختلفی طبقه بندی کرد. آن ها هستند: