Python JSON
JSON هو بناء جملة لتخزين البيانات وتبادلها.
JSON هو نص مكتوب باستخدام تدوين كائن JavaScript.
JSON في بايثون
تحتوي Python على حزمة مضمنة تسمى json
، والتي يمكن استخدامها للعمل مع بيانات JSON.
مثال
استيراد وحدة json:
import json
تحليل JSON - التحويل من JSON إلى Python
إذا كانت لديك سلسلة JSON ، فيمكنك تحليلها باستخدام
json.loads()
الطريقة.
ستكون النتيجة قاموس بايثون .
مثال
تحويل من JSON إلى Python:
import json
# some JSON:
x = '{ "name":"John", "age":30, "city":"New
York"}'
# parse x:
y = json.loads(x)
# the result is a
Python dictionary:
print(y["age"])
تحويل من Python إلى JSON
إذا كان لديك كائن Python ، فيمكنك تحويله إلى سلسلة JSON باستخدام json.dumps()
الطريقة.
مثال
تحويل من Python إلى JSON:
import json
# a Python object (dict):
x = {
"name":
"John",
"age": 30,
"city": "New York"
}
#
convert into JSON:
y = json.dumps(x)
# the result is a JSON string:
print(y)
يمكنك تحويل كائنات Python من الأنواع التالية ، إلى سلاسل JSON:
- قاموس
- قائمة
- tuple
- سلسلة
- int
- تطفو
- صحيح
- خطأ شنيع
- لا أحد
مثال
حول كائنات Python إلى سلاسل JSON ، واطبع القيم:
import json
print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple",
"bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
عندما تقوم بالتحويل من Python إلى JSON ، يتم تحويل كائنات Python إلى مكافئ JSON (JavaScript):
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
مثال
قم بتحويل كائن Python الذي يحتوي على جميع أنواع البيانات القانونية:
import json
x = {
"name":
"John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets":
None,
"cars": [
{"model": "BMW 230", "mpg":
27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x))
تنسيق النتيجة
المثال أعلاه يطبع سلسلة JSON ، لكن ليس من السهل قراءتها ، بدون مسافات بادئة وفواصل أسطر.
تحتوي json.dumps()
الطريقة على معلمات لتسهيل قراءة النتيجة:
مثال
استخدم indent
المعلمة لتحديد عدد المسافات البادئة:
json.dumps(x, indent=4)
يمكنك أيضًا تحديد الفواصل ، القيمة الافتراضية هي ("،"، ":") ، مما يعني استخدام فاصلة ومسافة لفصل كل كائن ، ونقطتين ومسافة لفصل المفاتيح عن القيم:
مثال
استخدم separators
المعلمة لتغيير الفاصل الافتراضي:
json.dumps(x, indent=4, separators=(". ", " = "))
اطلب النتيجة
يحتوي json.dumps()
الأسلوب على معلمات لطلب المفاتيح في النتيجة:
مثال
استخدم sort_keys
المعلمة لتحديد ما إذا كان يجب فرز النتيجة أم لا:
json.dumps(x, indent=4, sort_keys=True)