شعار proxyscrape داكن

تحليل JSON في بايثون - 3 خطوات بسيطة

أدلة إرشادية, إرشادات إرشادات, بايثون, Mar-06-20245 دقائق للقراءة

يعمل تحليل بيانات JSON باستخدام Python على تسهيل تحويل البيانات بجودتها الخفيفة. تتوقع مؤسسة البيانات الدولية أنه بحلول عام 2022، ستزداد صناعة البيانات الضخمة والأعمال التجارية بنسبة 62% عن عام 2018. نظرًا لأن مشاركة البيانات أمر شائع جدًا في العالم الرقمي، يعتزم الأشخاص إرسال كميات كبيرة من البيانات من خوادمهم الرئيسية إلى

يعمل تحليل بيانات JSON باستخدام Python على تسهيل تحويل البيانات بجودتها الخفيفة. تتوقع مؤسسة البيانات الدولية أنه بحلول عام 2022، ستزداد صناعة البيانات الضخمة والأعمال التجارية بنسبة 62% عن عام 2018. نظرًا لأن مشاركة البيانات أمر شائع جدًا في العالم الرقمي، يعتزم الأشخاص إرسال كميات كبيرة من البيانات من خوادمهم الرئيسية إلى تطبيقات العملاء أو من خادم واحد إلى قواعد بيانات أخرى. ويعتمد الناس بشكل كبير على تنسيقات ملفات تبادل البيانات مثل JSON لنقل البيانات إلى الجهاز على الطرف الآخر الذي يحول البيانات إلى تنسيق يمكن للمستخدم قراءته. في هذه المقالة، دعونا نستكشف ما هو JSON، وكيفية تحليل JSON في Python، ولماذا؟

جدول المحتويات

لماذا تحليل JSON في Python؟

نظرًا لأن JSON هو تنسيق خفيف الوزن، فإن هذا يسهل عملية التحويل من حيث الوقت والسرعة. لهذا السبب يفضل ممارسو البيانات إرسال واستقبال الرسائل بتنسيقات JSON. ولكن، عندما تتطلب البيانات المحولة عمليات أخرى يتعين على المستخدمين تحويلها إلى لغة مفهومة آلياً. لهذا السبب يقوم الناس بتحليل JSON بلغة بايثون. هنا، نحن نعمل مع لغة بايثون. لذا، سيتعين علينا قراءة وتحليل JSON باستخدام مكتبات ووظائف Python للوصول إلى البيانات.

لمعرفة أهمية تحليل البيانات، راجع هذه المقالة تحليل البيانات وفوائدها.

ما هو JSON؟

تدوين كائنات جافا سكريبت (JSON) هو تنسيق بيانات خفيف الوزن ينقل المعلومات من الخادم إلى تطبيق ويب بتنسيق يمكن للمستخدم قراءته. على الرغم من أن تنسيق JSON هو أحد مشتقات JavaScript، إلا أنه يستخدم تنسيق نصي لتمثيل الكائنات. يمكن للآلات تحليل JSON في Python لتحويل بيانات JSON إلى تنسيق قابل للقراءة الآلية.

نموذج بيانات JSON

{
   "person": [
 
      {
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      },
 
      {
         “name": “Nitin",
         "age": "24",
         "languages": ["Java", “Python”]
      }
   ]
}

إليك نموذج سلسلة JSON. المحتوى الموجود داخل القوسين المعقوفين هو كائن، والبيانات الموجودة داخل القوس المربع هي مصفوفة. 

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

The JSON string {“name”: “John”, “age”: “26”, “languages”: [“C”, “Python”]} is similar to the dictionaries in Python. Just like dictionaries, JSON also has keys and values. Here the keys and value pairs are separated with a colon. The ‘name,’ ‘age,’ and ‘languages’ are the keys, and the data after the colon are the values of the respective keys. JSON can be accessed in Python using the JSON library that holds all the functions to convert the JSON strings into Python dictionaries and vice versa. 

يمكن لبايثون الوصول إلى بيانات JSON عن طريق استيراد مكتبة JSON في كود بايثون. تسمح وحدة JSON في Python للمستخدم بقراءة بيانات JSON وكتابتها وتحليلها وتنفيذ عمليات أخرى على بيانات JSON.

 استيراد json

تحليل بيانات JSON إلى كائنات بايثون

بيانات JSON من أنواع عديدة مثل السلاسل والمصفوفات والكائنات والأرقام والملفات وغيرها الكثير. 

تحليل بايثون تحليل JSON - كائن بايثون المعادل

بعد استلام بيانات JSON، تتمثل المهمة الرئيسية في تحويل بيانات JSON إلى أنواع بيانات Python. يوضح هذا الجدول قائمة بأنواع بيانات JSON وتنسيقات Python المكافئة لها.

أنواع بيانات JSONأنواع بيانات بايثون
الكائنإملاء
المصفوفةقائمة، توبيل
السلسلةش
العددint، عوامة
صحيحصحيح
كاذبةخطأ
لا شيءلاغية

Steps to Parse different JSON Data into Python

سنتعلم هنا كيفية تحليل بيانات JSON معينة إلى تنسيق بايثون المكافئ لها. 

سلاسل JSON إلى قواميس بايثونJSON صفيف JSON إلى قوائم بايثونJSON ملف JSON إلى كائنات بايثون. 

تحليل JSON في بايثون - تحويل السلاسل إلى قواميس

ضع في اعتبارك نموذج سلسلة JSON.

{
  "name": "John", 
  "age": "26"
 }

يمكن أن يؤدي تعيين السلسلة في متغير إلى تسهيل عمليات التحليل عن طريق تمرير المتغير إلى الدوال. مثال: طباعة (شخص)

person ='{"name": "John", "age": "26"}'

ستقوم عبارة طباعة (شخص) بطباعة السلسلة. 

person ='{"name": "John", "age": "26"}'
print(person)

المخرجات 

{“name”: “John”, “age”: “26”}

سيضمن تمرير المتغير إلى الدالة type() أن تكون البيانات سلسلة.

person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))

المخرجات 

{“name”: “John”, “age”: “26”}

<class ‘str’>

تحويل السلاسل إلى قواميس

الخطوة الأولى هي تحليل بيانات JSON التي تكون في شكل سلسلة، إلى شكل سهل الاستخدام في Python. كما نوقش سابقًا، تتشابه سلاسل JSON وقواميس Python تمامًا حيث أن كلاهما في بنية زوج من المفاتيح والقيمة. لقراءة بيانات JSON وتحليلها في بايثون، دعنا أولًا نستورد مكتبة JSON. تُستخدم الدالة loads() لتحليل سلاسل JSON في قاموس بايثون. يشير الحرف "s" في دالة الأحمال() إلى السلسلة.

استيراد json
 json.loads.loads(STRNAME)

لننظر إلى نموذج سلسلة JSON التي طبعناها في النموذج أعلاه. 

person ='{"name": "John", "age": "26"}'
 print(person)

استخدام الدالة json.loads() لتحويل السلسلة إلى قاموس بايثون. يشير حرف json في الدالة json.loads() إلى اسم المكتبة. 

json.loads.loads(شخص)

من الضروري أيضًا تعيين عبارة تحميل() إلى متغير جديد. استخدمنا هنا المتغير "person_dxnry". 

person_dxnry = json.loads.loads(person)pyt

بعد تحويل السلسلة إلى قاموس وتعيينها إلى متغير جديد، يمكننا استخدام الدالة type() لمعرفة نوع البيانات قبل التحويل وبعده.

طباعة(نوع(شخص))
طباعةكتب(شخص_دكسنري)))
import json
 person ='{"name": "John", "age": "26"}'
 print(person)
 print(type(person))
 person_dxnry = json.loads(person)
 print(person_dxnry)
 print(type(person_dxnry))

المخرجات:

{“name”: “John”, “age”: “26”}

<class ‘str’>

{‘name’: ‘John’, ‘age’: ’26’}

<class ‘dict’>

هنا، تُظهر دوال النوع() هنا أن النوع هو سلسلة في الحالة الأولية ثم يصبح قاموسًا بعد التحويل. 

تحليل JSON في Python - تحويل مصفوفة إلى قائمة

دعونا نحاول تحويل نوع بيانات JSON آخر إلى بنية Python، باستخدام هذا النموذج من شيفرة JSON التي تحتوي على مصفوفة.

{
         "name": "John",
         "age": "26",
         "languages": ["C", “Python”]
      }

يمكننا تعيين المصفوفة إلى متغير "لغات" لتمريرها إلى دالة () التحميلات. بعد ذلك يمكننا إنشاء متغير جديد 'language_list' لتعيين نتيجة دالة الأحمال().

اللغات = '['["C"، "بايثون"]''
 languages_list = json.loads.loads(languages)
استيراد jsonpyt
 اللغات = '['["C"، "بايثون"]''
 languages_list = json.loads.loads(languages)
 طباعة(languages_list)
 طباعة(اكتب(languages_list))

يمكن أن يساعدنا استخدام دوال النوع() لكلا المتغيرين في التحقق من أنواع البيانات.

المخرجات

['C'، 'Python']

<class ‘list’>

يشير هذا الناتج إلى أن مصفوفة JSON في "اللغات" يتم تحويلها إلى قائمة بواسطة دالة () الأحمال.

تحليل JSON في Python - ملفات إلى كائن

تنسيق JSON الأكثر شيوعًا هو سلسلة. هناك أيضًا فرص كبيرة لتلقي البيانات بتنسيق JSON كملف. أيًا كان نوع البيانات، فإن الهدف النهائي هو تحليلها إلى صيغة قابلة للقراءة من بايثون. هناك دالتان، مثل تحميل() وتحميل()، يمكنك استخدامهما للتحليل. تختلف دوال تحليل JSON هذه باختلاف نوع بيانات JSON. سنناقش هذه الدوال بإيجاز في الأقسام القادمة.

توفّر مكتبة JSON المدمجة في بايثون دالة تحويل أخرى "تحميل()" لقراءة وتحليل ملف JSON في بايثون. 

كيفية قراءة ملف JSON وتحليله؟

تحليل بايثون JSON - ثلاث طرق.

الخطوة الأولى هي حفظ هذا الرمز النموذجي باسم 'person.json'

{
         "name": "John",
         "age": "26",
      }

هناك دالتان لتحليل ملف JSON. إحداهما هي الدالة open(). تساعد الدالة open() على فتح ملف JSON وتوجّه المحول البرمجي للقيام بعملية التحويل باستخدام عملية التحميل(). 

مع فتح('person.json') كملف:pyt

بعد فتح ملف JSON، علينا إنشاء متغير "بيانات" لتعيين عمليات التحميل.

البيانات = json.load(ملف)

أخيرًا، يمكننا استخدام الدالة type() للتحقق من نوع المحتوى.

طباعة(نوع(بيانات))

يمكننا الوصول إلى العناصر الموجودة في القاموس المحول باستخدام متغير "البيانات" وتمرير مفاتيح القاموس مثل "الاسم" و "العمر".

طباعة(بيانات['عمر'])
 طباعة(بيانات['اسم'])
استيراد json
مع فتح('person.json') كملف:
البيانات = json.load(ملف)
طباعة(نوع(بيانات))
طباعة(البيانات['العمر'])
طباعة(بيانات['اسم'])

المخرجات:

<class ‘dict’>

26

جون

يشير الإخراج إلى أن النوع هو "قاموس". هذا الإخراج يعني أننا نجحنا في تحويل ملف JSON إلى قائمة.

كتابة Python إلى JSON

يمكننا أيضًا تحويل نماذج بيانات Python إلى JSON باستخدام دالتي dumps() و dump(). هذه هي العمليات العكسية لدالة تحميل() وتحميل(). لنأخذ قاموس بايثون ونحوله إلى سلسلة JSON باستخدام الدالة تفريغ (). 

 لقد عرّفنا قاموس بايثون على أنه "قاموس_الشخص". 

person_dictionary = {'name': 'John', 'age': 26 }

استخدم الدالة dumps() لإجراء عملية التحويل وتعيينها إلى متغير جديد 'person_json'.

person_json = json.dumps(person_dictionary)
 طباعة(person_json)
import json
person_dictionary = {'name': 'John',
 'age': 26
 }
 person_json = json.dumps(person_dictionary)
 print(person_dictionary)
 print(type(person_dictionary))
 print(person_json)
 print(type(person_json))

المخرجات:

{‘name’: ‘John’, ‘age’: 26}

<class ‘dict’>

{“name”: “John”, “age”: 26}

<class ‘str’>

يضمن استخدام الدالة type() لكلٍ من المتغيرين 'person_dictioanry' و 'person_json' تحويل تنسيق Python إلى سلسلة JSON.

كيف يمكن للوكلاء المساعدة؟

يُفضّل تحليل JSON على نطاق واسع مع تطبيقات تحويل البيانات مثل الكشط والتحليل وترحيل البيانات وعمليات تكامل البيانات. ستساعدك هذه الحلول مع البروكسيات في الحصول على تجربة أفضل في كشط البيانات وتحويلها بشكل غير محدود باستخدام بايثون. انتقل إلى هذه المدونة لمعرفة كيفية إضافة البروكسيات مع طلبات بايثون. Proxyscrape يوفر بروكسي من أنواع مختلفة للمساعدة في عملية التحليل هذه.

يقرأ أيضاً

فهم الوكلاء المدرسيون

كيفية تكوين وكلاء cURL البروكسيون

تسلسل الوكيل

الأسئلة الشائعة:

1. لماذا تحليل JSON في بايثون؟
تحليل JSON ممكن مع بعض اللغات الأخرى أيضًا، ويحظى تحليل Python بشعبية كبيرة لأنه يوفر حزمة JSON مدمجة للتعامل مع بيانات JSON وتحويلها وكتابتها بسهولة. ويُعد هذا التحليل مفيدًا في تطبيقات مثل تحليل بيانات الويب وكشط الأخبار واستخراج البيانات والتنقيب عن البيانات وكشط محركات البحث وصناعات التسويق حيثما كان تحويل البيانات مطلوبًا.
2. اذكر بعض اللغات التي تدعم JSON؟
يدعم تنسيق JSON C++، وJava، وPHP، وC#، وPython.
3. ما هي كائنات JSON؟
كائنات JSON هي عبارة عن مجموعات من أزواج اسم وقيمة داخل أقواس معقوفة. يتم الفصل بين كل زوج من الأسماء/القيم بفاصلة بينما يتبع الاسم بنقطتين.

الملخص

أصبح JSON شيئًا أساسيًا أثناء العمل على مواقع الويب. كلما كانت هناك حاجة إلى نقل البيانات أو مشاركة البيانات، غالبًا ما يستخدم الأشخاص تنسيق JSON لأنها خفيفة الوزن وقابلة للتبديل بسهولة. ويشبه تنسيق JSON إلى حد كبير شكل النص، بحيث يمكن للمستخدمين فهم المحتوى بسهولة. يمكن للآلة أيضًا قراءة المحتوى وتحليله إلى تنسيق سهل الاستخدام آليًا. ناقشنا هنا بعض وظائف التحويل في Python، مثل فتح() وتحميل() وتحميل() وتحميل() وتفريغ() وتفريغ(). يمكن لهذه الدوال المضمنة في وحدة JSON النمطية قراءة وتحليل البيانات من تنسيق JSON إلى أنواع بيانات Python، والعكس صحيح.