چگونه فایلهای JSON را در پایتون پردازش کنیم
خلاصه
1404/10/14
پردازش فایلهای JSON در پایتون بسیار ساده است، زیرا پایتون کتابخانهای داخلی به نام `json` دارد که کار با این فرمت را آسان میکند. در این راهنما، مراحل مختلف پردازش فایلهای JS
پردازش فایلهای JSON در پایتون بسیار ساده است، زیرا پایتون کتابخانهای داخلی به نام `json` دارد که کار با این فرمت را آسان میکند. در این راهنما، مراحل مختلف پردازش فایلهای JSON را توضیح میدهم.
---
### **۱. خواندن فایل JSON**
برای خواندن یک فایل JSON و تبدیل آن به یک شیء پایتون (مانند دیکشنری یا لیست)، از تابع `json.load()` استفاده میکنیم.
```python
import json
# خواندن فایل JSON
with open('data.json', 'r', encoding='utf-8') as file:
data = json.load(file)
print(data) # نمایش دادههای خوانده شده
```
---
### **۲. نوشتن در فایل JSON**
برای ذخیره یک شیء پایتون (مانند دیکشنری یا لیست) در یک فایل JSON، از تابع `json.dump()` استفاده میکنیم.
```python
import json
data = {
"name": "Ali",
"age": 30,
"city": "Tehran"
}
# نوشتن در فایل JSON
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False) # indent برای قشنگسازی خروجی
```
- `indent=4`: برای قشنگسازی خروجی (فاصلهگذاری)
- `ensure_ascii=False`: برای حفظ کاراکترهای غیر ASCII (مانند حروف فارسی)
---
### **۳. تبدیل رشته JSON به شیء پایتون**
اگر یک رشته JSON دارید و میخواهید آن را به دیکشنری یا لیست تبدیل کنید، از `json.loads()` استفاده کنید.
```python
import json
json_string = '{"name": "Ali", "age": 30, "city": "Tehran"}'
data = json.loads(json_string)
print(data["name"]) # خروجی: Ali
```
---
### **۴. تبدیل شیء پایتون به رشته JSON**
برای تبدیل یک شیء پایتون به رشته JSON، از `json.dumps()` استفاده کنید.
```python
import json
data = {
"name": "Ali",
"age": 30,
"city": "Tehran"
}
json_string = json.dumps(data, indent=4, ensure_ascii=False)
print(json_string)
```
---
### **۵. کار با فایلهای JSON بزرگ**
اگر با فایلهای JSON بسیار بزرگ کار میکنید، میتوانید از `ijson` استفاده کنید که برای پردازش جریانهای JSON مناسب است.
```python
import ijson
with open('large_file.json', 'r', encoding='utf-8') as file:
for item in ijson.items(file, 'item'):
print(item) # پردازش هر آیتم به صورت جداگانه
```
---
### **۶. خطاهای رایج و مدیریت آنها**
- **`json.JSONDecodeError`**: اگر فایل JSON معتبر نباشد، این خطا رخ میدهد.
- **`FileNotFoundError`**: اگر فایل وجود نداشته باشد.
```python
import json
try:
with open('data.json', 'r') as file:
data = json.load(file)
except FileNotFoundError:
print("فایل یافت نشد!")
except json.JSONDecodeError:
print("فایل JSON معتبر نیست!")
```
---
### **۷. مثال کامل**
```python
import json
# خواندن فایل JSON
with open('input.json', 'r', encoding='utf-8') as file:
data = json.load(file)
# ویرایش دادهها
data["age"] += 1
# ذخیره در فایل جدید
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False)
```
---
### **نکات مهم**
- همیشه از `encoding='utf-8'` استفاده کنید تا از مشکلات کاراکترهای غیر ASCII جلوگیری شود.
- برای فایلهای بزرگ، از `ijson` یا پردازش جریانمحور استفاده کنید.
- از `indent` برای خوانایی بهتر خروجی استفاده کنید.
امیدوارم این راهنما به شما کمک کند! 😊
برخی از محصولات شرکت مهندسی آبان رایان البرز
سایر مقالات آموزشی شرکت نرم افزاری آبان رایان البرز :
- API Key چه نقشی در توسعه نرمافزار دارد
- چگونه امنیت فرم لاگین را افزایش دهیم
- تفاوت بین VARCHAR و TEXT در MySQL چیست
- نقش توابع تجمیعی Aggregate Functions در SQL چیست
- ایندکسهای ترکیبی در پایگاه داده چه هستند
- چگونه در جاوا یک فایل متنی را بخوانیم
- تفاوت بین روش بازگشتی و تکراری چیست
- نقش ماژولار بودن در توسعه نرمافزار چیست
- HashMap در جاوا چه کاربردی دارد
- تفاوت بین حافظه استاتیک و دینامیک چیست
- چه زمانی از حلقه while به جای for استفاده میشود
- مفهوم Dependency Injection چیست
- چگونه یک پروژه نرمافزاری را مستند کنیم
- واحد تست چیست و چگونه طراحی میشود
- فایده استفاده از Breakpoint در اشکالزدایی چیست
- الگوریتم مرتبسازی سریع Quick Sort چگونه عمل میکند