JSON في Python

يُستخدم JSON لتحديد لغة لتحفظ وتتبادل البيانات.

يُكتب JSON باستخدام لغة تمثيل الأشياء (JavaScript object notation) النصية.

JSON في Python

يوجد في Python وحدة تُدعى json الباكيت المدمج، يمكن استخدامه لمعالجة بيانات JSON.

实例

استيراد json وحدة:

استيراد json

تحليل JSON - تحويل JSON إلى Python

إذا كان لديك سلسلة JSON، يمكنك استخدام json.loads() استخدم هذه الطريقة لتحليلها.

النتيجة ستكون قاموس Python.

实例

تحويل JSON إلى Python:

استيراد json
# بعض JSON:
x =  '{ "name":"Bill", "age":63, "city":"Seatle"}'
# تحليل x:
y = json.loads(x)
# النتيجة هي قاموس Python:
print(y["العمر"])

运行实例

تحويل Python إلى JSON

إذا كان لديك objekt Python، يمكنك استخدام json.dumps() استخدم هذه الطريقة لتحويلها إلى سلسلة JSON.

实例

تحويل Python إلى JSON:

استيراد json
# objekt Python (قاموس):
x = {
  "الاسم": "بيل"
  "العمر": 63
  "مدينة": "Seatle"
}
# تحويل إلى JSON:
y = json.dumps(x)
# النتيجة هي سلسلة JSON:
print(y)

运行实例

يمكنك تحويل أنواع objekt Python التالية إلى سلسلة JSON:

  • قاموس
  • قائمة
  • زوج
  • سلسلة
  • عدد صحيح
  • عدد عشري
  • نعم
  • لا
  • لا شيء

实例

تحويل objekt Python إلى سلسلة JSON وطباعة القيمة:

استيراد json
print(json.dumps({"name": "Bill", "age": 63}))
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، سيتم تحويل objekt Python إلى مكافئ JSON (JavaScript):

Python JSON
قاموس موضوع
قائمة قائمة
زوج قائمة
str قائمة
عدد صحيح رقم
عدد عشري رقم
نعم نعم
لا لا
لا شيء لا شيء

实例

تحويل جميع أنواع البيانات المسموح بها في Python إلى objekt

استيراد json
x = {
  "الاسم": "بيل"
  "العمر": 63
  "زواج": صحيح
  "divorced": False,
  "children": ("Jennifer","Rory","Phoebe"),
  "pets": None,
  "cars": [
    {"model": "Porsche", "mpg": 38.2},
    {"model": "BMW M5", "mpg": 26.9}
  ]
}
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)

运行实例