أصبح JavaScript Object Notation (JSON) تنسيقًا قياسيًا لتبادل البيانات على الويب. يتم استخدامه على نطاق واسع لنقل البيانات في تطبيقات الويب، ويرجع ذلك أساسًا إلى أنه من السهل على كل من البشر والآلات إنشاءها وفهمها. ولكن كيف يمكننا التعامل مع هذا التنسيق في لغة بايثون، وهي اللغة التي يستخدمها علماء البيانات؟ في هذا البرنامج التعليمي الشامل، سوف نتعلم كيفية قراءة وتحليل بيانات JSON باستخدام Python.
فهم جسون
JSON هو تنسيق نصي مستقل تمامًا عن اللغة ولكنه يستخدم اصطلاحات مألوفة لدى مبرمجي عائلة اللغات C، بما في ذلك C وC++ وC# وJava وJavaScript وPerl وPython وغيرها الكثير. يمكن أن تمثل أرقامًا وسلاسل وتسلسلات مرتبة من القيم (المصفوفات) ومجموعات من أزواج قيمة الاسم (الكائنات).
JSON مقابل XML
قبل شهرة JSON، كان XML (لغة التوصيف الموسعة) يستخدم بشكل كبير لتخزين البيانات ونقلها. على عكس XML، يوفر JSON بناء جملة أبسط وأكثر قابلية للقراءة من قبل الإنسان لتبادل البيانات. فيما يلي بعض الاختلافات الرئيسية:
JSON | XML |
---|---|
بسيطة للقراءة والكتابة. | أقل سهولة في القراءة والكتابة. |
التحليل سريع. | التحليل بطيء. |
يمكن الوصول إلى البيانات بسهولة ككائنات JSON. | يجب تفكيك البيانات لاستخدامها ككائنات. |
دعم المصفوفة. | لا يوجد دعم للمصفوفة. |
أقل إسهابا. | أكثر مطولا. |
بايثون وJSON
تحتوي Python على حزمة مدمجة تسمى json، والتي يمكن استخدامها للعمل مع بيانات JSON. إذا كان لديك سلسلة JSON، فيمكنك تحليلها باستخدام التابع json.loads() طريقة. وبالمثل، إذا كان لديك كائن Python، فيمكنك تحويله إلى سلسلة JSON باستخدام الأمر json.dumps() طريقة.
قراءة بيانات JSON في بايثون
بايثون مدمج json توفر الوحدة وظائف للقراءة والكتابة إلى ملفات JSON. يمكنك استخدام json.load() طريقة لقراءة ملف يحتوي على كائن JSON.
import json
with open('sample.json', 'r') as f:
data = json.load(f)
هذا الجزء من التعليمات البرمجية يفتح الملف عينة.json، ويتم إلغاء تسلسل كائن JSON الموجود في الملف إلى قاموس Python المخصص للمتغير بيانات.
تحليل بيانات JSON في بايثون
تعمل وحدة json الخاصة بـ Python على تسهيل تحليل بيانات JSON.
import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
python_dict = json.loads(json_string)
في هذا المثال، json.loads() يأخذ سلسلة كمدخل ويعيد القاموس كمخرج.
كتابة بيانات JSON في بايثون
لكتابة كائن Python إلى ملف JSON، يمكنك استخدامه json.dump().
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
with open('output.json', 'w') as json_file:
json.dump(data, json_file)
في هذا المثال، تمت كتابة قاموس بايثون إلى input.json.
تحويل كائنات بايثون إلى JSON
توفر وحدة Python json الوظيفة json.dumps() لتحويل كائنات بايثون إلى تنسيق JSON. هذه العملية تسمى التسلسل.
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
json_data = json.dumps(data)
هنا قاموس بايثون بيانات يتم إجراء تسلسل إلى سلسلة منسقة JSON باستخدام json.dumps().
مثال JSON وPython في العالم الحقيقي
يستخدم JSON على نطاق واسع في تطوير الويب لإرسال البيانات من العميل إلى الخادم. هذا مثال أساسي لكيفية استخدام برنامج Python النصي لإرسال البيانات إلى خادم ويب بتنسيق JSON.
import json
import requests
data = {
"name": "John",
"age": 30,
"city": "New York"
}
headers = {"Content-Type": "application/json"}
response = requests.post("http://httpbin.org/post", headers=headers, data=json.dumps(data))
print(response.json())
يتعلق الأمر بقراءة وتحليل بيانات JSON باستخدام Python. تذكر أن فهم بنية بيانات JSON وكيفية معالجتها باستخدام Python يعد مهارة أساسية في عالم الويب الحديث. لذا، تأكد من ممارسة المفاهيم التي تمت مناقشتها في هذا البرنامج التعليمي لتعتاد على التعامل مع بيانات JSON. تعلم سعيد!
التعليقات (0)
لا توجد تعليقات هنا حتى الآن، يمكنك أن تكون الأول!