بکندباز

تفاوت بین json.load()‎ و json.loads()‎ در پایتون

JSON مخفف (JavaScript Object Notation) یک فایل اسکریپت (قابل اجرا) در یک زبان برنامه نویسی است که از متن ساخته شده و برای ذخیره و انتقال داده ها استفاده می شود. این یک قالب مستقل از زبان است و درک آن بسیار آسان است زیرا ماهیت خود را توصیف می کند. پایتون یک پکیج داخلی به نام json دارد. در این مقاله قصد داریم متدهای Json.load و json.loads را بررسی کنیم. هر دو روش برای خواندن و نوشتن از رشته یونیکد با فایل استفاده می شود.

json.load()

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

Syntax: json.load(fpcls=Noneobject_hook=Noneparse_float=Noneparse_int=Noneparse_constant=Noneobject_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(sencoding=Nonecls=Noneobject_hook=Noneparse_float=Noneparse_int=Noneparse_constant=Noneobject_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']}

backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*