עבודה עם JSON Data ב-Python

JSON (JavaScript Object Notation) הוא פורמט נתונים קל משקל המשמש להחלפת נתונים בין שרת ללקוח. זה משמש בדרך כלל ביישומי אינטרנט כדי לשלוח ולקבל נתונים. Python מספקת מודול מובנה בשם json שמקל על העבודה עם נתוני JSON. מאמר זה ידריך אותך דרך היסודות של עבודה עם נתוני JSON ב-Python, כולל קריאה, כתיבה וטיפול באובייקטי JSON.

מה זה JSON?

JSON הוא פורמט מבוסס טקסט שקל לקרוא ולכתוב עבור בני אדם ומכונות כאחד. הוא מורכב מזוגות מפתח-ערך, בדומה למילוני Python. אובייקט JSON טיפוסי נראה כך:

{
    "name": "Alice",
    "age": 30,
    "city": "New York",
    "is_student": false,
    "skills": ["Python", "JavaScript", "SQL"]
}

ייבוא ​​מודול JSON

המודול json כלול בספרייה הסטנדרטית של Python, כך שלא צריך להתקין שום דבר. פשוט ייבא אותו בתחילת הסקריפט שלך:

import json

קריאת נתוני JSON

אתה יכול לקרוא נתוני JSON ממחרוזת או מקובץ. השיטה json.loads() משמשת לניתוח נתוני JSON ממחרוזת, בעוד ש-json.load() משמש לקריאת נתוני JSON מקובץ.

קריאת JSON ממחרוזת

כדי לקרוא JSON ממחרוזת, השתמש בשיטת json.loads(), אשר ממירה את מחרוזת ה-JSON למילון Python.

# Example of reading JSON from a string
json_string = '{"name": "Alice", "age": 30, "city": "New York"}'
data = json.loads(json_string)

print(data)
print(data['name'])  # Output: Alice

קריאת JSON מקובץ

כדי לקרוא נתוני JSON מקובץ, השתמש בשיטה json.load(). שיטה זו קוראת את התוכן של קובץ וממירה אותו למילון Python.

# Example of reading JSON from a file
with open('data.json', 'r') as file:
    data = json.load(file)

print(data)

כתיבת נתוני JSON

אתה יכול לכתוב נתוני JSON למחרוזת או לקובץ. השיטה json.dumps() משמשת להמרת אובייקט Python למחרוזת JSON, בעוד ש-json.dump() משמש לכתיבת נתוני JSON לקובץ.

כתיבת JSON למחרוזת

כדי לכתוב JSON למחרוזת, השתמש בשיטת json.dumps(), אשר ממירה מילון Python למחרוזת JSON.

# Example of writing JSON to a string
data = {
    "name": "Bob",
    "age": 25,
    "city": "Los Angeles"
}

json_string = json.dumps(data)
print(json_string)

כתיבת JSON לקובץ

כדי לכתוב נתוני JSON לקובץ, השתמש בשיטה json.dump(). שיטה זו לוקחת אובייקט Python וכותבת אותו לקובץ בפורמט JSON.

# Example of writing JSON to a file
data = {
    "name": "Bob",
    "age": 25,
    "city": "Los Angeles"
}

with open('output.json', 'w') as file:
    json.dump(data, file)

Pretty-Printing Data JSON

לשיטת json.dumps() יש מספר פרמטרים המאפשרים לעצב נתוני JSON לקריאות טובה יותר. הפרמטר indent מציין את מספר הרווחים לשימוש עבור הזחה, בעוד שהפרמטר sort_keys ​​ממיין את המפתחות בפלט.

# Example of pretty-printing JSON data
data = {
    "name": "Charlie",
    "age": 35,
    "city": "Chicago"
}

json_string = json.dumps(data, indent=4, sort_keys=True)
print(json_string)

המרה בין סוגי נתונים JSON ו-Python

מודול json של Python יכול להתמודד עם סוגי נתונים שונים ולהמיר אותם בין JSON ל-Python. הנה הפניה מהירה:

  • dict (Python) ל-object (JSON)
  • list (Python) ל-array (JSON)
  • str (Python) עד string (JSON)
  • int, float (Python) ל-number (JSON)
  • נכון, false (Python) עד true, false (JSON)
  • ללא (Python) עד null (JSON)

טיפול בשגיאות JSON

במהלך העבודה עם JSON, שגיאות עלולות להתרחש עקב עיצוב שגוי או נתונים בלתי צפויים. המודול json מעלה חריגים כמו JSONDecodeError כאשר הוא נתקל בבעיות כאלה. השתמש בבלוקים try ו-למעט כדי לטפל בשגיאות הללו בחן.

# Handling JSON errors
json_string = '{"name": "Alice", "age": 30, "city": "New York"'  # Missing closing brace

try:
    data = json.loads(json_string)
except json.JSONDecodeError as e:
    print(f"Error decoding JSON: {e}")

מַסְקָנָה

עבודה עם נתוני JSON היא מיומנות בסיסית עבור מפתחי Python, במיוחד בפיתוח אתרים ומדעי הנתונים. מודול json מספק שיטות קלות לשימוש לקריאה, כתיבה וטיפול בנתוני JSON. על ידי שליטה בטכניקות אלו, תוכל לטפל ביעילות בנתוני JSON ביישומי Python שלך.