JSON یک ساختار برای ذخیره و تبادل داده ها است.
JSON متنی است که به روش نمادگذاری شیء در جاوا اسکریپت نوشته شده است.
جیسون در پایتون
پایتون یک بسته داخلی به نام
json
دارد که میتوان از آن برای کار با دادههای JSON استفاده کرد. مثال
وارد کردن (ایمپورت) ماژول json در پایتون:
import json
JSON یک ساختار برای ذخیره و تبادل داده ها است.
JSON متنی است که به روش نمادگذاری شی در جاوا اسکریپت نوشته شده است.
تجزیه JSON - تبدیل از JSON به Python
اگر یک رشته JSON دارید، می توانید آن را با استفاده از متد
json.loads()
تجزیه کنید. نتیجه یک دیکشنری پایتون خواهد بود.
مثال
تبدیل از JSON به پایتون:
import json
# some JSON:
x = '{ "name":"John", "age":30, "city":"New York"}'
# parse x:
y = json.loads(x)
# the result is a Python dictionary:
print(y["age"])
تبدیل از پایتون به JSON
اگر یک شیء پایتون دارید، می توانید با استفاده از متد json.dumps()
آن را به یک رشته 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 a JSON string:
print(y)
می توانید اشیاء پایتون از انواع زیر را به رشته های JSON تبدیل کنید:
- dict
- list
- tuple
- string
- int
- float
- True
- False
- None
مثال
تبدیل اشیاء پایتون رشته های JSON و چاپ مقادیر:
print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
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 |
مثال
تبدیل یک شی پایتون حاوی تمام انواع داده های مجاز:
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
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)