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'])
این خط، برای دسترسی به مقدار نام خاص در دیکشنری استفاده میشود.