شرح json الدرس الثالث

اختبار بايثون شرح json الدرس الثالث

في الدرس السابق قمنا بتحويل نص json الي كائن بايثون في هذا الجزء من سلسلة python json سوف نتعلم انشاء وتحويل كائن بايثون الي نص json.

ما الفائدة من تحويل كائن بايثون الي json ?

يمكن نقل هذا الكائن الي جافا سكربت او اي من اللغات الاخري او استخدامة كملف بيانات لسكربت بايثون راجع الدرس الاول لمزيد من التفاصيل.

تحويل python object الي json string.

تخيل لدينا الكائن التالي وهو قاموس python dictionary:

d = {"name":"ahmed", "age":"22"}

هذا مثال بسيط مكون من مفتاح name وقيمتة ومفتاح age وقيمتة, يمكن الوصول لاي من قيم تلك المفاتيح او ال key كالتالي.

d["name"]
d["age"]

يمكن طباعة تلك القيم عبر دالة الطباعة print ولكن الان كل ما نريدة هو تحويل قاموس بايثون الي نص json.

في البداية سوف نستدعي مكتبة json كما تعلمنا في الدرس السابق import json.

ثم نستخدم دالة dumps لتحويل كائن بايثون الي json string كالتالي:

import json
d = {"name":"ahmed", "age":"22"}

js = json.dumps(d)
print(js)

في المثال السابق قمنا بالتصريح عن متغير جديد باسم js.

واستخدمنا دالة dumps لتحويل القاموس الي نص json.

عند طباعة المتغير js سوف ينتج عنه طباعة التالي:

{"name":"ahmed", "age":"22"}

ملحوظة متغير js لا يحتوي علي قاموس هو فقط يحتوي علي نص string عادي يمكنك التحقق من ذالك عبر طباعة النوع كالتالي:

print(type(js))

وسوف تكون النتيجة:

<class 'str'>

بمعني انه نص string وللتاكد اكثر يمكنك طباعة التالي:

print(js[0:9])

وسوف تكون النتيجة:

{"name":"

تم طباعة جزء من النص.


حتي الان تعرفنا علي كيفية تحويل نص json الي كائن بايثون, وتحويل كائن بايثون الي نص json .

في الدرس السابق استخدمنا json.loads وهي لتحويل نص json الي python object.

وفي هذا الدرس استخدمنا json.dumps وهي لتحويل python object الي json string.

اختبار تحويل قاموس بايثون الي نص json:

داخل المحرر التالي قمنا بانشاء دالة ptojs يجب ان تقوم باكمال الدالة لارجاع قيمة تحويل كائن بايثون python dictionary الي نص json string.

لارجاع البيانات من الدالة تستخدم return وليس print مثال:
def foo(pythonDictionary):
    #your code python dict to json string
    return jsonStr
يمكن استخدام print لتتبع حركة الكود يمكنك رؤية المخرجات عبر الضغط علي زر terminal بالاسفل.

سوف نقوم بتمرير قاموس بايثون في كل مره الي دالة ptojs كلتالي:
ptojs({"name":"ahmed", "age":"22"})

يجب عليك تحويل كائن بايثون dict الي نص json كما تعلمت بالاعلي وارجاع القيمة عبر return 

واضغط زر التشغيل.


output
terminal