آموزش جی سان در پایتون
- بهدست: Admingfars
- دستهبندی: برنامه نویسی
آموزش جی سان در پایتون
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
بدون دیدگاه