کار با json (جیسون ) در پایتون – python json

با سلام و درود، تو این آموزش با چند تا مثال ساده روش کار کردن با فایل json در پایتون را آماده کرده ام.

برای شروع فایل json چیست؟ json که مخفف (JavaScript Object Notation) هست، فرمت داده ای مشهور برای استفاده از داده ای ساختار یافته می باشد. استفاده از فرمت جیسون برای دریافت و انتقال داده بین سرور و وب اپلیکیشن بسیار رایج هست.

در پایتون، json همانند یک string می باشد :

p = '{"name": "Sadegh", "languages": ["Python", "Java"]}'

استفاده از ماژول json :

برای استفاده از json ، (به صورت string یا فایلی که دارای شی json باشد)، شما میتوانید از ماژول jsonاستفاده کنید. برای این کار کافیست jsonرا در پروژه خودتون به صورت زیر import کنید:

import json

پارس (parse) کردن json در python :

برای پارز کردن کافیه از متود json.loads() استفاده کنید، این متد یه دیکشنری باز می گرداند.

به مثال زیر توجه داشته باشید:

import json
person = '{"name": "Sadegh", "languages": ["English", "Fench"]}'
person_dict = json.loads(person)
# Output: {'name': 'Sadegh', 'languages': ['English', 'Fench']}
print( person_dict)
# Output: ['English', 'French']
print(person_dict['languages'])

در این مثال، person یک string جیسون می باشد و person_dict یه دیکشنری.

خواندن فایل json در پایتون :

فرض کنید محتوای فایل json شما به صورت زیر می باشد:

{"name": "Sadegh", 
"languages": ["English", "Fench"]
}

با استفاده از متد json.load() میتوانید فایلی که دارای json هست را بخوانید.

به مثال زیر توجه کنید :

import json
with open('path_to_file/person.json') as f:
  data = json.load(f)
# Output: {'name': 'Sadegh', 'languages': ['English', 'Fench']}
print(data)

اگر داخل django باشید احتمالا به روش زیر فایل را open باید بکنید :

open(os.path.join(settings.BASE_DIR, 'items.json'))

برای مالطعه در مورد openکردن فایل در پایتون بهتره یه نگاهی به اینجا بیاندازید. (python file I/O)

تبدیل از پایتون به json :

برای تبدیل (convert) کردن به مثال زیر توجه کنید (کافیست از متد json.dumps() استفاده کنید)

import json
person_dict = {'name': 'Bob',
'age': 12,
'children': None
}
person_json = json.dumps(person_dict)
# Output: {"name": "Bob", "age": 12, "children": null}
print(person_json)

نوشتن jsonروی یک فایل در پایتون :

برای این کار باید از کتد json.dump() استفاده کنید :

import json
person_dict = {"name": "Bob",
"languages": ["English", "Fench"],
"married": True,
"age": 32
}
with open('person.txt', 'w') as json_file:
  json.dump(person_dict, json_file)

منابع برای مطالعه بیشتر اول اینجا و بعد اینجا، اینجا و اینجا.