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

How Convert Dictionary Json Python



جسون (JavaScript Object Notation) هو تنسيق ملف شائع لتقديم البيانات المهيكلة ونقل البيانات بين الخادم والتطبيق بسهولة. يشبه هيكل هذا الملف بعض كائنات Python مثل list و tuple والقاموس. يمكنك تحويل أي كائن قاموس إلى JSON كائن باستخدام أحمق() و مقالب () طرق json وحدة. توضح هذه المقالة طرق تحويل أي كائن قاموس إلى كائن JSON في لغة python.

طريقة json.dumps ():

تُستخدم هذه الطريقة لتحويل كائن القاموس إلى بيانات JSON للتحليل أو القراءة وهي أبطأ من أحمق() طريقة.







بناء الجملة:



json.مقالب(موضوعومسافة بادئة=لا أحدوترتيب_المفاتيح=خاطئة)

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



طريقة json.dump ():

تُستخدم هذه الطريقة لتخزين كائن python في ملف JSON. إنه أسرع من مقالب () طريقة لأنه يكتب في الذاكرة والملف بشكل منفصل.





بناء الجملة:

json.أحمق(قاموسوfileHandlerومسافة بادئة=لا أحد)

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



كيف يمكن استخدام هاتين الطريقتين لتحويل كائن القاموس إلى ملف JSON أو سلسلة JSON موضحة أدناه من هذه المقالة.

مثال 1: تحويل القاموس إلى JSON باستخدام مقالب () مع المسافة البادئة

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

#! / usr / bin / env python3
# استيراد وحدة json
يستوردjson

# تحديد القاموس
ديكت_داتا= { 'هوية الطالب':'011894'و 'اسم':'ماثيو'و 'حزمة':30و 'نصف السنة':6 }
# طباعة بيانات القاموس
مطبعة(الإخراج الديكتوني:ن'وديكت_داتاو 'ن')

# تحويل القاموس إلى كائن json بدون مسافة بادئة
json_data=json.مقالب(ديكت_داتا)
# طباعة بيانات json
مطبعة(إخراج JSON بدون مسافة بادئة:ن'وjson_dataو 'ن')

# تحويل القاموس إلى كائن json مع المسافة البادئة
json_data=json.مقالب(ديكت_داتاومسافة بادئة=3)
# طباعة بيانات json مع المسافة البادئة
مطبعة(إخراج JSON مع مسافة بادئة:ن'وjson_data)

انتاج:

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

مثال 2: تحويل القاموس إلى JSON باستخدام dumps () مع sort_keys

يمكن فرز مفاتيح بيانات JSON باستخدام ترتيب_المفاتيح حجة مقالب (). القيمة الافتراضية لهذه الوسيطة هي False. في البرنامج النصي التالي ، يتم تحويل كائن القاموس إلى بيانات JSON بدون استخدام ترتيب_المفاتيح واستخدام ترتيب_المفاتيح لعرض استخدام هذه الحجة. يتم استخدام طريقة التفريغ الأولى () مع قيمة المسافة البادئة 5 ويظهر الإخراج بيانات JSON باستخدام المسافة البادئة 5. في طريقة التفريغ الثانية () ، يتم استخدام sort_keys وتعيينها إلى True لفرز قيم المفاتيح. سيُظهر إخراج JSON الأخير البيانات بعد فرز قيم المفاتيح.

#! / usr / bin / env python3
# استيراد وحدة json
يستوردjson

# تحديد القاموس
ديكت_داتا= {'اسم':'ماديسون'و'شهر':'قد'و'عام':2020و'مبيعات':[1000و 2100و 3500و 1200]}
# طباعة بيانات القاموس
مطبعة(الإخراج الديكتوني:ن'وديكت_داتاو 'ن')

# تحويل قاموس مع بيانات القائمة إلى json
json_data=json.مقالب(ديكت_داتاومسافة بادئة= 5)
# طباعة بيانات json
مطبعة(إخراج JSON مع مسافة بادئة:ن'وjson_data)

# تحويل قاموس مع بيانات القائمة إلى json عن طريق فرز المفاتيح
json_data=json.مقالب(ديكت_داتاومسافة بادئة= 5وترتيب_المفاتيح= حقيقي)
# طباعة بيانات json المصنفة بناءً على المفاتيح
مطبعة(إخراج JSON المصنف مع المسافة البادئة:ن'وjson_data)

انتاج:

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

مثال 3: تحويل القاموس إلى بيانات JSON وتخزينه في ملف JSON

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

#! / usr / bin / env python3
# استيراد وحدة json
يستوردjson

# تحديد القاموس
ديكت_داتا= { 'سي -101':'برمجة PHP'و 'سي -102':'برمجة باش'و 'سي -103':
'برمجة بايثون'و
'سي -104':'البرمجة الشيئية' }
# طباعة بيانات القاموس
مطبعة(الإخراج الديكتوني:ن'وديكت_داتاو 'ن')

# تعيين اسم ملف json
jsonFile= 'course_list.json'
# افتح ملف json لكتابة بيانات json
مع افتح(jsonFileو 'في') كماfileHandler1:
json.أحمق(ديكت_داتاوfileHandler1ومسافة بادئة= 2)

# افتح ملف json للقراءة
fileHandler2= افتح(jsonFile)
مطبعة(محتوى ملف JSON:ن'وfileHandler2.اقرأ())

انتاج:

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

استنتاج:

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