کار با JSON در پایتون

python json handling tutorial
20 آبان 1403

JSON که مخفف JavaScript Object Notation است، یک فرمت محبوب برای تبادل داده بین سرویس‌های وب و محیط‌های مختلف برنامه‌نویسی است. این فرمت به دلیل سادگی و خوانایی زیاد، در اکثر زبان‌های برنامه‌نویسی حمایت می‌شود و پایتون نیز از این قاعده مستثنی نیست.

در پایتون، برای کار با JSON از کتابخانهٔ استاندارد «json» استفاده می‌شود که قابلیت تبدیل داده‌های پایتونی به فرمت JSON و بالعکس را فراهم می‌کند. این کتابخانه کار را بسیار ساده کرده و به توسعه‌دهندگان اجازه می‌دهد تا به راحتی داده‌ها را در قالب JSON بخوانند و بنویسند.

حال بیایید نگاهی به برخی کدهای نمونه بیندازیم که استفاده از این کتابخانه را به ما نشان می‌دهند. ابتدا ببینیم که چگونه می‌توانیم یک شیء پایتون را به یک رشتهٔ JSON تبدیل کنیم.


import json

# Sample Python object (dictionary)
data = {
'name': 'Ali',
'age': 30,
'city': 'Tehran'
}

# Convert Python object to JSON string
json_string = json.dumps(data)
print(json_string)

در مثال بالا، ابتدا با استفاده از کتابخانهٔ json یک دیکشنری ساده از اطلاعات یک شخص را تعریف کرده‌ایم. سپس با استفاده از تابع json.dumps()، این شیء پایتون را به یک رشتهٔ JSON تبدیل می‌کنیم. در نهایت، رشتهٔ JSON تولید شده را پرینت می‌کنیم.

حالا بیایید نگاهی به مثالی بیندازیم که رشتهٔ JSON را به یک شیء پایتون برمی‌گرداند:


json_string = '{"name": "Ali", "age": 30, "city": "Tehran"}'

# Convert JSON string to Python object
data = json.loads(json_string)

print(data) print(data['name']) # Accessing specific value

در این مثال، ابتدا یک رشتهٔ JSON داریم که اطلاعات مشابهی دارد. سپس با استفاده از تابع json.loads() این رشتهٔ JSON را به یک دیکشنری پایتون تبدیل می‌کنیم و مقدار آن را پرینت می‌کنیم. همچنین نحوه دسترسی به مقادیر خاص در دیکشنری نیز نشان داده شده است.

توضیح خط به خط کد

import json
با این خط، ما کتابخانهٔ json را وارد برنامه خود می‌کنیم تا بتوانیم از توابع آن استفاده کنیم.

data = {'name': 'Ali', 'age': 30, 'city': 'Tehran'}
در این خط، یک دیکشنری در پایتون تعریف کرده‌ایم که شامل اطلاعات یک شخص است.

json_string = json.dumps(data)
این خط، دیکشنری پایتون را به یک رشته در فرمت JSON تبدیل می‌کند.

print(json_string)
برای مشاهده نتیجه، رشته JSON تولید شده را به خروجی کنسول می‌فرستیم.

json_string = '{"name": "Ali", "age": 30, "city": "Tehran"}'
این خط، یک رشتهٔ ثابت را که در قالب JSON است، تعریف می‌کند.

data = json.loads(json_string)
این خط، رشتهٔ JSON را به یک شیء پایتون تبدیل می‌کند.

print(data)
دیکشنری حاوی داده‌های JSON را به کنسول چاپ می‌کند.

print(data['name'])
این خط، برای دسترسی به مقدار نام خاص در دیکشنری استفاده می‌شود.

سوالات متداول

؟

چگونه می‌توانم داده‌های JSON را در پایتون بخوانم؟

؟

چگونه داده‌های پایتون را به JSON تبدیل کنم؟

؟

آیا JSON در پایتون از انواع داده مختلف پشتیبانی می‌کند؟