עבודה עם 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 שלך.