تقنية

JSON في بايثون: هل يعود tuple بالنوع نفسه؟

صف العددين يرمز إلى مصفوفة JSON في المثال.
صف يرمز إلى مصفوفة.

في مثالنا، مع الترميز والقراءة الافتراضيين، tuple تتحول إلى مصفوفة JSON ثم قائمة list. [1]

الخلاصة السريعة

لا؛ يعود مثالنا قائمة، وتبقى قيمتا العددين. [1]

  • في مثالنا، مع الترميز والقراءة الافتراضيين، tuple تتحول إلى مصفوفة JSON ثم قائمة list. [1]
  • تتحول list أيضًا إلى مصفوفة؛ النص لا يميز النوعين في مثالنا. [1]
  • مثال مؤلف على CPython 3.12.14: values=(7,9) ينتج النص [7, 9]. [1]
  • نوع restored هو list؛ مقارنته بـ values تعطي False لاختلاف النوع. [1]
  • تحكم: ترميز [7,9] يطابق النص وجمع رموزه مستقلًا؛ القراءة تعطي [7,9]، ويبقى values صفًا. [1]

من صف إلى قائمة

في مثالنا، مع الترميز والقراءة الافتراضيين، tuple تتحول إلى مصفوفة JSON ثم قائمة list. [1]

مصفوفة لا تميز النوعين

تتحول list أيضًا إلى مصفوفة؛ النص لا يميز النوعين في مثالنا. [1]

عددان في صف

مثال مؤلف على CPython 3.12.14: values=(7,9) ينتج النص [7, 9]. [1]

import json values=(7,9) text=json.dumps(values) restored=json.loads(text) print(type(restored).__name__) [1]

قراءة المصفوفة تعيد قائمة بالإعدادات الافتراضية.
مصفوفة تقرأ كقائمة.

النوع المعاد والتحكم

نوع restored هو list؛ مقارنته بـ values تعطي False لاختلاف النوع. [1]

control=json.dumps([7,9]) print(control==text) [1]

تحكم: ترميز [7,9] يطابق النص وجمع رموزه مستقلًا؛ القراءة تعطي [7,9]، ويبقى values صفًا. [1]

المراجع

  1. Python JSON

للتوسع: لغات البرمجة.

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