تحويل قاموس Python إلى JSON

حل مباشر لمشكلة شائعة عند نسخ ناتج print من Python، إذ يستخدم علامات مفردة و True و None التي يرفضها JSON.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل قاموس Python والمسافة البادئة.
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

dict يصبح كائنا، و list و tuple يصبحان مصفوفة، و True و False و None تصبح true و false و null. مفتاح العدد الصحيح يصبح نصا مثل "1"، والمفتاح True يصبح "true" كما يفعل json.dumps. الأرقام السداسية والشرطات السفلية مثل 1_000 تحول إلى أرقام عشرية.

مثال

المدخلات: المسافة البادئة = مسافتان. النتيجة: ناتج JSON: { "name": "Sara", "age": 28, "verified": true, "scores": [ 90, 85.5 ], "manager": null }، عدد القيم المنقولة: 6.

data = {
    'name': 'Sara',
    'age': 28,
    'verified': True,
    'scores': (90, 85.5),
    'manager': None,  # not assigned yet
}
{
  "name": "Sara",
  "age": 28,
  "verified": true,
  "scores": [
    90,
    85.5
  ],
  "manager": null
}

الحدود والملاحظات

  • تقرأ القيم الحرفية فقط: المتغيرات واستدعاء الدوال مثل datetime() تعطي خطأ.
  • set و bytes و f-strings والأعداد المركبة ليس لها مقابل في JSON.

أسئلة شائعة عن هذه الأداة

لماذا لا يقبل json.loads ناتج print؟

لأن print يعرض repr بعلامات مفردة و True و None، بينما يشترط JSON علامات مزدوجة و true و null. الصقه هنا ليتحول.

ماذا يحدث للمفاتيح الرقمية؟

تتحول إلى نصوص لأن مفاتيح JSON نصوص دائما، فالمفتاح 1 يصبح "1" كما في json.dumps.

هل يمكن لصق data = { } مع التعليقات؟

نعم، تتجاهل الأداة اسم المتغير وعلامة = والتعليقات التي تبدأ بعلامة #.