JSON

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Python-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳شروع کار
۴دستور زبان
۵توضیحات
۶متغیرها
۷انواع داده‌ها
۸اعداد
۹تبدیل نوع
۱۰رشته‌ها
۱۱Booleans
۱۲عملگرها
۱۳لیست‌ها
۱۴تاپل‌ها
۱۵مجموعه‌ها
۱۶دیکشنری‌ها
۱۷If...Else
۱۸حلقهٔ While
۱۹حلقهٔ For
۲۰توابع
۲۱Lambda
۲۲آرایه‌ها
۲۳کلاس‌ها / اشیاء
۲۴ارث‌بری
۲۵Iteratorها
۲۶دامنه
۲۷ماژول‌ها
۲۸تاریخ و زمان
۲۹JSON
۳۰RegEx
۳۱PIP
۳۲Try...Except
۳۳ورودی کاربر
۳۴قالب‌بندی رشته
مدیریت فایل
یادگیری ماشین
MySQL در پایتون
MongoDB در پایتون
مرجع پایتون
مرجع ماژول
چگونه در پایتون؟
مثال‌های پایتون

JSON یک نحو برای ذخیره و تبادل داده‌ها است.[۱]

JSON متن است که با نشانه گذاری (به انگلیسی: Notation) شیء جاوا اسکریپت نوشته می‌شود.

JSON در پایتون

پایتون یک package داخلی به نام json دارد که می‌توان از آن برای کار با داده‌های JSON استفاده کرد.

مثال

import json

تجزیه JSON - تبدیل از JSON به پایتون

اگر یک رشته JSON دارید، می‌توانید آن را با استفاده از متد json.loads() تجزیه کنید.

نتیجه یک دیکشنری پایتون خواهد بود.

مثال

از JSON به پایتون تبدیل می‌کند:

 1 import json
 2 
 3 # some JSON:
 4 x =  '{ "name":"John", "age":30, "city":"New York"}'
 5 
 6 # parse x:
 7 y = json.loads(x)
 8 
 9 # the result is a Python dictionary:
10 print(y["age"])


مشاهدهٔ نتیجه


تبدیل از پایتون به JSON

اگر یک شیء پایتون دارید، می‌توانید آن را با استفاده از متد json.dumps() به JSON تبدیل کنید.

مثال

از پایتون به JSON تبدیل می‌کند:

 1 import json
 2 
 3 # a Python object (dict):
 4 x = {
 5   "name": "John",
 6   "age": 30,
 7   "city": "New York"
 8 }
 9 
10 # convert into JSON:
11 y = json.dumps(x)
12 
13 # the result is a JSON string:
14 print(y)


مشاهدهٔ نتیجه


می‌توانید اشیاء پایتون از انواع زیر را به رشته‌های JSON تبدیل کنید:

  • dict
  • list
  • tuple
  • string
  • int
  • float
  • True
  • False
  • None

مثال

اشیاء پایتون را به رشته‌های JSON تبدیل کرده و مقدارها را چاپ می‌کند:

 1 import json
 2 
 3 print(json.dumps({"name": "John", "age": 30}))
 4 print(json.dumps(["apple", "bananas"]))
 5 print(json.dumps(("apple", "bananas")))
 6 print(json.dumps("hello"))
 7 print(json.dumps(42))
 8 print(json.dumps(31.76))
 9 print(json.dumps(True))
10 print(json.dumps(False))
11 print(json.dumps(None))


مشاهدهٔ نتیجه


هنگامی که پایتون را به JSON تبدیل می‌کنید، اشیاء پایتون به معادل‌های JSON (جاوا اسکریپت) تبدیل می‌شوند:

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

مثال

یک شیء پایتون شامل همهٔ انواع داده مجاز را تبدیل می‌کند:

 1 import json
 2 
 3 x = {
 4   "name": "John",
 5   "age": 30,
 6   "married": True,
 7   "divorced": False,
 8   "children": ("Ann","Billy"),
 9   "pets": None,
10   "cars": [
11     {"model": "BMW 230", "mpg": 27.5},
12     {"model": "Ford Edge", "mpg": 24.1}
13   ]
14 }
15 
16 print(json.dumps(x))


مشاهدهٔ نتیجه


قالب بندی نتیجه

مثال بالا رشته JSON را چاپ می‌کند، اما خواند آن بدون تورفتگی و خط جدید خیلی ساده نیست.

متد json.dumps() پارامترهایی برای ساده‌تر کردن خواندن نتیجه دارد:

مثال

از پارامتر indent برای تعریف تعداد تورفتگی‌ها استفاده می‌کند:

json.dumps(x, indent=4)


مشاهدهٔ نتیجه


همچنین می‌توانید جداکننده‌ها را تعریف کنید، مقدار پیش فرض (", ", ": ") است که یعنی استفاده از کاما و یک فاصله برای جدا کردن هر شیء و یک دو نقطه و یک فاصله برای جدا کردن کلیدها از مقدارها:

مثال

از پارامتر separators برای تغییر جدا کننده پیش فرض استفاده می‌کند:

json.dumps(x, indent=4, separators=(". ", " = "))


مشاهدهٔ نتیجه


مرتب کردن نتیجه

متد json.dumps() برای مرتب کردن نتیجه به ترتیب کلیدها یک پارامتر دارد:

مثال

از پارامتر sort_keys برای تعیین اینکه آیا نتیجه باید مرتب شود یا نه استفاده می‌کند:

json.dumps(x, indent=4, sort_keys=True)


مشاهدهٔ نتیجه



منابع آموزشی