كيفية تحليل JSON في بايثون

كيف يمكننا تحليل JSON في بايثون. نقوم أولاً بتحميل ملف JSON باستخدام طريقة json.load (). والنتيجة هي قاموس بايثون. يمكننا بعد ذلك الوصول إلى الحقول باستخدام طرق القاموس.

JSON هو تنسيق خفيف لتبادل البيانات.

لاستخراج المعلومات من ملف JSON أو استجابة JSON ، يتعين علينا تحليل البيانات.




تحليل JSON في بايثون

سنستخدم JSON التالي في مثالنا:

{ 'store':{
'book':[

{

'category':'reference',

'author':'Nigel Rees',

'title':'Sayings of the Century',

'price':8.95

},

{

'category':'fiction',

'author':'Evelyn Waugh',

'title':'Sword of Honour',

'price':12.99

}
],
'bicycle':{

'color':'red',

'price':19.95
} }, 'expensive':10 }

الخطوة الأولى هي تحميل ملف JSON في بايثون:


import json with open('store.json') as json_file:
data = json.load(json_file) print(data)

يتم الآن تخزين ملف JSON في data عامل.

ستقوم طريقة الطباعة فقط بطباعة JSON أعلاه.

ملحوظة:ستقوم الطريقة المذكورة أعلاه بتخزين JSON كملف قاموس بيثون . يمكننا التحقق من ذلك عن طريق طباعة النوع والطباعة (النوع (البيانات)).

برنامج JSON التعليمي - تعرف على كيفية استخدام JSON مع JavaScript



استخراج بيانات معينة من JSON

الآن بعد أن أصبح لدينا JSON كقاموس Python ، يمكننا جلب بيانات معينة عن طريق تحديد الحقل ، الذي يمثل key في القاموس.

على سبيل المثال ، لجلب سعر الدراجة في JSON أعلاه ، سنستخدم:


print(data['store']['bicycle']['price'])

انتاج:

19.95

استخراج البيانات من صفيف JSON

في مثال JSON أعلاه ، حقل 'الكتاب' عبارة عن مصفوفة JSON.

يمكننا استخدام ترميز الفهرس لجلب عناصر معينة.

على سبيل المثال ، للحصول على اسم الكتاب الثاني سنستخدم:


print(data['store']['book'][1]['title'])

انتاج:

Sword of Honour

التحليل الشرطي لـ JSON

لنفترض أننا أردنا الحصول على جميع الكتب التي يقل سعرها عن 10.00 أو يساويها.

ثم نستخدم:

books = data['store']['book'] for book in books:
if book['price'] <= 10.00:
print(book)

انتاج:


{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'price': 8.95}

استنتاج

في هذا المنشور ، نظرنا في كيفية تحليل JSON في Python. الفكرة الأساسية هنا هي أنه بمجرد تحميل ملف JSON ، يتم تخزينه كقاموس Python. بمجرد أن نحصل على القاموس ، يمكننا بعد ذلك استخدام طرق القاموس العادية لاستخراج قيم معينة من JSON.