فرم کامل JSON عبارت است از Javascript Object Notation. به این معنی که یک فایل اسکریپت (قابل اجرا) در یک زبان برنامه نویسی که از متن ساخته شده است، برای ذخیره و انتقال داده ها استفاده می شود. پایتون از طریق یک پکیج داخلی به نام JSON از JSON پشتیبانی می کند . برای استفاده از این ویژگی، پکیج JSON را در اسکریپت پایتون وارد می کنیم. متن در JSON از طریق quoted-string (عبارت های احاطه شده با کوتیشن) که حاوی جفت مقدار “کلید-مقدار” است، در {} نوشته می شود. مشابه دیکشنری در پایتون.
نوشتن JSON در یک فایل در پایتون
“سریال سازی JSON” به تبدیل داده ها به یک سری بایت برای ذخیره یا انتقال در یک شبکه اشاره دارد. برای مدیریت جریان داده در یک فایل، کتابخانه JSON در پایتون از تابع dump()
یا dumps()
برای تبدیل اشیاء پایتون به شی JSON مربوطه خود استفاده می کند، و بنابراین نوشتن داده ها در فایل ها را آسان می کند. جدول زیر را در زیر مشاهده کنید.
شیء پایتون | شیء مربوطه در JSON |
---|---|
Dict | object |
list, tuple | array |
str | string |
int, long, float | numbers |
True | true |
False | false |
None | null |
روش 1: نوشتن JSON روی یک فایل در پایتون با استفاده از json.dumps()
پکیج JSON در پایتون تابعی به نام json.dumps()
دارد که به تبدیل دیکشنری به شی JSON کمک می کند. دو پارامتر نیاز دارد:
- dictionary – نام دیکشنری که باید به یک شی JSON تبدیل شود.
- indent – تعداد واحدهای تورفتگی را مشخص می کند
پس از تبدیل دیکشنری به یک شی JSON، به سادگی آن را با استفاده از تابع “write” در یک فایل بنویسید.
import json
# Data to be written
dictionary = {
"name": "sathiyajith",
"rollno": 56,
"cgpa": 8.6,
"phonenumber": "9976770500"
}
# Serializing json
json_object = json.dumps(dictionary, indent=4)
# Writing to sample.json
with open("sample.json", "w") as outfile:
outfile.write(json_object)
خروجی:
روش 2: نوشتن JSON روی یک فایل در پایتون با استفاده از json.dump()
روش دیگر برای نوشتن JSON در یک فایل، استفاده از روش json.dump()
است. پکیج JSON دارای تابع “dump” است که مستقیماً دیکشنری را در یک فایل به شکل JSON مینویسد، بدون اینکه نیازی به تبدیل آن به یک شی JSON واقعی باشد. . 2 پارامتر می گیرد:
- dictionary – نام دیکشنری که باید به یک شی JSON تبدیل شود.
- file pointer – نشانگر فایل باز شده در حالت نوشتن (w) یا الحاق (a).
# Python program to write JSON
# to a file
import json
# Data to be written
dictionary = {
"name": "sathiyajith",
"rollno": 56,
"cgpa": 8.6,
"phonenumber": "9976770500"
}
with open("sample.json", "w") as outfile:
json.dump(dictionary, outfile)
خروجی:
خواندن JSON از یک فایل با استفاده از پایتون
Deserialization برعکس Serialization است، یعنی تبدیل اشیاء JSON به اشیاء پایتون مربوطه خود. از متد load()
برای آن استفاده می شود. اگر از دادههای JSON از برنامه دیگری استفاده کردهاید یا آن را بهعنوان یک رشته با قالب JSON ذخیره کرده اید، میتوان آن را به راحتی با load()
، از حالت سریال خارج کرد و به یک دیکشنری تبدیل کرد.
خواندن JSON از یک فایل با استفاده از json.load()
پکیج JSON دارای تابع json.load() است که محتوای JSON را از یک فایل JSON به یک دیکشنری بارگیری می کند.
- File pointer: نشانگر فایلی که به فایل JSON اشاره می کند.
import json
# Opening JSON file
with open('sample.json', 'r') as openfile:
# Reading from json file
json_object = json.load(openfile)
print(json_object)
print(type(json_object))
خروجی:
ممنون از این مقاله کاربردی