قم بطباعة JSON والتحقق منه وفحصه بشكل جميل مع فرز اختياري للمفاتيح وأدوات طي/توسيع.
قم بطباعة JSON والتحقق منه وفحصه بشكل جميل مع فرز اختياري للمفاتيح وأدوات طي/توسيع. قم بطباعة JSON والتحقق منه وفحصه بشكل جميل مع فرز اختياري للمفاتيح وأدوات طي/توسيع.
Array
خلفية
ما هو JSON ولماذا قد ترغب في عرضه بشكل مختلف
JSON (JavaScript Object Notation) هو التنسيق النصي الأكثر شيوعًا
لتبادل البيانات المنظمة على الويب: ملفات الإعدادات، واستجابات
واجهات API، وسجلات السجل، ومخازن المستندات، وغيرها الكثير. إنه صغير
وقابل للقراءة من قبل البشر ويمكن تحليله آليًا بسهولة، ولهذا السبب
تتحدث به كل خدمة حديثة تقريبًا.
مستند JSON الخام نادرًا ما يكون مفيدًا بحد ذاته. غالبًا ما تصدر
واجهات API والأدوات سطرًا واحدًا طويلًا بدون مسافات بيضاء، لأن ذلك هو
أقصر تمثيل. عندما تفتح مثل هذا المستند في محرر فإنه
يصعب فحصه، ويصعب اكتشاف الأقواس غير المتطابقة، ومن السهل أن
تفقد مكانك أثناء عد الأقواس المعقوفة. يحل عارض JSON هذه المشكلة
بإعادة إصدار المستند بمسافة بادئة متسقة بحيث يصبح الهيكل
واضحًا في لمحة.
ميزات تستحق المعرفة
تتيح لك الطباعة الجميلة اختيار حجم المسافة البادئة (عادةً مسافتان أو أربع
مسافات) وتعرض المستند على الفور. تتيح لك بعض العارضات أيضًا
فرز المفاتيح أبجديًا، وهو أمر لا يقدر بثمن عند مقارنة
حمولتين من نفس الخدمة: عندما تصطف المفاتيح عموديًا يمكنك
فحص اختلافات القيم دون مطابقتها بالموقع. خط الإحصائيات
الذي يعرض عدد البايتات وعدد العقد مفيد عندما
تكون على وشك لصق حمولة في نموذج محدود بـ 1 ميغابايت: فهو يخبرك
بالحجم الدقيق دون فتح طرفية.
العارض هو أيضًا مدقق. عملية التحليل باستخدام JSON.parse
ستلقي خطأ وصفيًا يشير إلى السطر والعمود الدقيقين
لأول رمز غير صالح، بحيث يمكنك رؤية سبب رفض مستندك
للتحميل على الفور. تنتج معظم أدوات الإنتاج أخطاء
في نفس النقطة، لذا فإن الرسالة التي تراها هنا تطابق ما سيقوله
خادمك أو إطار عمل الواجهة أو خط أنابيب البناء.
نصائح سير العمل
استخدم أدوات الطي/التوسيع للتركيز على المستوى الأعلى
لمستند متداخل بعمق، ثم تعمق في القسم الذي يهمك،
وانسخ الفرع الذي تحتاجه. إذا كنت تتصيد الأخطاء في استجابة واجهة API،
قم بفرز المفاتيح قبل المقارنة بحيث لا تربك عينيك الإضافات
والحذف في مواقع مختلفة. عند الشك، الصق
المستند في تبويب جديد، واضبط التنسيق، واستخدم
الإخراج كنسخة معيارية للتوثيق أو رسائل
الإيداع.
الأسئلة الشائعة
هل يحافظ العارض على التعليقات داخل مستند JSON؟
لا يسمح JSON القياسي بالتعليقات. إذا كان إدخالك يحتوي على // أو /* */ سيرفضه المحلل؛ أزلها أولاً أو حوّل ملفك إلى JSON5/JSONC باستخدام أداة مخصصة.
لماذا لا يتطابق عدد البايتات مع ما نسخته من واجهة API؟
عدد البايتات هو حجم الإخراج المعروض. إذا فعّلت الطباعة الجميلة بمسافة بادئة بحرفين، ينمو الإخراج. استخدم الوضع غير المباعد إذا كنت بحاجة إلى الحجم على الشبكة.
هل يمكن للعارض التعامل مع مستندات JSON الكبيرة جدًا؟
نعم. يحلل العارض المستند بأكمله في الذاكرة ويعيد إصداره، لذا فإن الحد العملي هو الذاكرة المتاحة في متصفحك (مئات الميغابايت بشكل مريح على حاسوب محمول حديث). بالنسبة للمستندات متعددة الجيجابايت فكر في نهج التدفق.
هل سيغير فرز المفاتيح معنى المستند؟
لا. كائنات JSON هي مجموعات غير مرتبة من أزواج الاسم/القيمة. الفرز يغير فقط النص المُصدَر، وليس الدلالات. معظم المحللين يقرؤون المفاتيح في خريطة تجزئة بغض النظر عن الترتيب.
لماذا يقول المحلل "رمز غير متوقع" في عمود محدد؟
يبلغ JSON.parse عن أول رمز لا يمكنه فهمه. السطر/العمود الذي يعطيه هو مكان بداية الرمز؛ الخطأ الفعلي غالبًا قبل حرف واحد (علامة اقتباس غير مهرّبة، أو فاصلة مفقودة، أو فاصلة زائدة في نهاية كائن).
هل يتم إرسال مستندي إلى خادم؟
لا. كل التحليل والفرز وإعادة التنسيق تحدث داخل متصفحك عبر واجهات برمجة JavaScript الأصلية. لا توجد خطوة رفع.