JSON مخفف (JavaScript Object Notation) یک فایل اسکریپت (قابل اجرا) در یک زبان برنامه نویسی است که از متن ساخته شده و برای ذخیره و انتقال داده ها استفاده می شود. این یک قالب مستقل از زبان است و درک آن بسیار آسان است زیرا ماهیت خود را توصیف می کند. پایتون یک پکیج داخلی به نام json دارد. در این مقاله قصد داریم متدهای Json.load و json.loads را بررسی کنیم. هر دو روش برای خواندن و نوشتن از رشته یونیکد با فایل استفاده می شود.
json.load()
json.load() یک شی فایل را می گیرد و شی json را برمی گرداند. برای خواندن دادههای کدگذاریشده JSON از یک فایل و تبدیل آن به دیکشنری پایتون استفاده میشود.
Syntax: json.load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
پارامتر های ورودی:
fp: نشانگر فایل برای خواندن متن.
object_hook: یک پارامتر اختیاری است که با رمزگشایی هر شیء به معنای واقعی کلمه فراخوانی می شود.
parse_float: یک پارامتر اختیاری است که با رشته هر JSON float برای رمزگشایی فراخوانی می شود.
parse_int: یک پارامتر اختیاری است که با رشته هر JSON int برای رمزگشایی فراخوانی می شود.
object_pairs_hook: یک پارامتر اختیاری است که با نتیجه هر شیء رمزگشایی شده با لیست مرتب شده از جفت ها فراخوانی می شود.
مثال:
ابتدا فایل json را ایجاد کنید:
import json
data = {
"name": "Satyam kumar",
"place": "patna",
"skills": [
"Raspberry pi",
"Machine Learning",
"Web Development"
],
"email": "xyz@gmail.com",
"projects": [
"Python Data Mining",
"Python Data Science"
]
}
with open( "data_file.json" , "w" ) as write:
json.dump( data , write )
خروجی:
پس از ایجاد فایل json، از json.load() استفاده می کنیم:
with open("data_file.json", "r") as read_content:
print(json.load(read_content))
خروجی:
{'name': 'Satyam kumar', 'place': 'patna', 'skills': ['Raspberry pi', 'Machine Learning', 'Web Development'],
'email': 'xyz@gmail.com' , 'projects': ['Data Mining Python', 'Python Data Science']}
json.loads()
متد json.loads() می تواند برای تجزیه رشته معتبر JSON و تبدیل آن به دیکشنری پایتون استفاده شود. ورودی متد برخلاف متد قبل که فایل بود، در اینجا یک رشته است.
Syntax: json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
پارامتر های ورودی:
s: نمونه str (s) حاوی یک سند JSON را با استفاده از این جدول تبدیل به یک شی پایتون تبدیل کنید.
object_hook: یک پارامتر اختیاری است که با رمزگشایی هر شیء به معنای واقعی کلمه فراخوانی می شود.
parse_float: یک پارامتر اختیاری است که با رشته هر JSON float برای رمزگشایی فراخوانی می شود.
parse_int: یک پارامتر اختیاری است که با رشته هر JSON int برای رمزگشایی فراخوانی می شود.
object_pairs_hook: یک پارامتر اختیاری است که با نتیجه هر شیء رمزگشایی شده با لیست مرتب شده از جفت ها فراخوانی می شود.
import json
# JSON string:
# Multi-line string
data = """{
"Name": "Jennifer Smith",
"Contact Number": 7867567898,
"Email": "jen123@gmail.com",
"Hobbies":["Reading", "Sketching", "Horse Riding"]
}"""
# parse data:
res = json.loads( data )
# the result is a Python dictionary:
print( res )
خروجی:
{'Name': 'Jennifer Smith', 'Contact Number': 7867567898, 'Email': 'jen123@gmail.com',
'Hobbies': ['Reading', 'Sketching', 'Horse Riding']}
دیدگاهها