خواندن و نوشتن json در پایتون :
JSON یک فرمت دادهای است که برای تبادل دادهها بین سرور و کلاینت استفاده میشود. این فرمت دادهای مبتنی بر متن است که بسیار قابل خواندن و نوشتن است. در پایتون، برای خواندن و نوشتن فایلهای JSON از کتابخانههای مختلفی مانند json و jsonlines استفاده میشود.
کتابخانه json در پایتون امکان پارس کردن دادههای JSON را فراهم میکند. با استفاده از توابع این کتابخانه، میتوانیم یک رشته JSON را به صورت یک دیکشنری یا لیست در پایتون تبدیل کنیم و برعکس، یک دیکشنری یا لیست را به صورت یک رشته JSON ذخیره کنیم.
برای خواندن یک فایل JSON در پایتون، ابتدا فایل را باز میکنیم و سپس از تابع `json.load()` برای خواندن دادهها استفاده میکنیم. این تابع فایل را به عنوان ورودی میگیرد و دادههای JSON را به صورت یک دیکشنری یا لیست برمیگرداند.
“`python
import json
# باز کردن فایل JSON
with open(‘data.json’) as json_file:
data = json.load(json_file)
# چاپ دادهها
print(data)
“`
برای نوشتن یک داده به صورت JSON در پایتون، ابتدا یک دیکشنری یا لیست را تعریف میکنیم و سپس از تابع `json.dump()` برای نوشتن داده به فایل استفاده میکنیم. این تابع داده و فایلی که میخواهیم داده را در آن ذخیره کنیم را به عنوان ورودی میگیرد.
“`python
import json
# تعریف داده
data = {
‘name’: ‘John’,
‘age’: 30,
‘city’: ‘New York’
}
# نوشتن داده به صورت JSON
with open(‘data.json’, ‘w’) as json_file:
json.dump(data, json_file)
“`
همچنین، میتوان از کتابخانه jsonlines برای خواندن و نوشتن فایلهای JSON استفاده کرد. این کتابخانه به شکل مشابهی به کتابخانه json عمل میکند، با این تفاوت که به صورت خط به خط فایل را خوانده و نوشته میشود. این روش برای فایلهای JSON بزرگ بسیار مفید است.
“`python
import jsonlines
# خواندن فایل JSON
with jsonlines.open(‘data.json’) as json_file:
for line in json_file:
data = line
# چاپ داده
print(data)
“`
“`python
import jsonlines
# نوشتن داده به صورت JSON
with jsonlines.open(‘data.json’, ‘w’) as json_file:
json_file.write(data)
“`
در این مقاله، روشهای خواندن و نوشتن دادههای JSON در پایتون را بررسی کردیم. با استفاده از کتابخانههای json و jsonlines، میتوانیم به راحتی با فایلهای JSON کار کنیم و دادهها را به صورت دیکشنری یا لیست در پایتون خوانده و نوشته کنیم.