استجابة API بفاصلة زائدة، ملف إعدادات بعد نشر جديد، أو لصق من Slack محاط بعلامات backticks — JSON المكسور أو غير المقروء جزء يومي من عمل المطوّرين. محرر JSON في إتقان يوفّر لوحتين جنباً إلى جنب، أوضاع نص وشجرة وجدول، تحققاً مع أرقام الأسطر، إصلاحاً بضغطة، مقارنة هيكلية، وتحويلات JMESPath وJSONPath — كل ذلك داخل المتصفح دون رفع البيانات للخادم. هذا الدليل مكتوب خصيصاً لهذه الأداة: كيف يعمل التخطيط المزدوج، متى تستخدم كل إجراء، وسيناريوهات عملية تغنيك عن حلقات النسخ بين الطرفية وIDE.
ما هو محرر JSON؟
محرر JSON في إتقان مساحة عمل في المتصفح مبنية على vanilla-jsoneditor. تحصل على تحرير احترافي — تمييز صياغة، تصفح شجري، عرض جدولي لمصفوفات الكائنات — دون تثبيت Node أو Python أو تطبيق سطح مكتب. كل لوحة تتصرّف كمستند صغير: جديد، فتح، حفظ، نسخ، إصلاح، تحويل، ملء الشاشة.
يكمّل بيئة التطوير ولا يستبدلها. استخدمه عندما تحتاج فحص حمولة API واحدة، أو مقارنة نسختين من settings.json، أو استخراج حقل متداخل من استجابة ضخمة في أقل من دقيقة. لإعادة هيكلة ملفات متعددة أو ترحيل مخططات، يبقى محرّر المشروع الأنسب — لكن لجراحة JSON العاجلة، فتح تبويب مخصص أسرع من تشغيل REPL.
اللوحتان والشريط الوسطي
افتح محرر JSON. مساحة العمل ثلاث مناطق: لوحة يسار، عمود وسط ضيق، ولوحة يمين. اسحب الفاصل العمودي في الوسط لإعطاء مساحة أكبر للجانب الذي تعمل عليه.
لكل لوحة شريط مستند داكن في الأعلى:
- جديد — يفرّغ اللوحة إلى مستند فارغ.
- فتح — تحميل ملف
.jsonأو.txtمن الجهاز، أو جلب JSON من رابط (إذا سمح CORS). - حفظ / تحميل — تصدير اللوحة الحالية كملف بعد نجاح التحليل.
- نسخ — إلى الحافظة منسّقاً (بمسافات بادئة) أو مضغوطاً (سطر واحد).
- المزيد — إصلاح JSON، تحويل، ونسخ المحتوى إلى اللوحة المقابلة.
- ملء الشاشة — توسيع لوحة واحدة لملء نافذة المتصفح.
العمود الوسطي يجمع إجراءات عبر اللوحتين: نسخ يسار ↔ يمين، فتح التحويل على أي جانب، وتفعيل مقارنة. عند تفعيل المقارنة، تُبرز المسارات المتغيّرة في المحرّرين؛ استخدم الأسهم للأعلى/للأسفل للقفز بين الاختلافات واقرأ العداد (مثل 3/12).
متى تحتاجه؟
- تطوير: تنسيق استجابة API مضغوطة قبل قراءة الحقول المتداخلة.
- تصحيح: تحديد السطر الذي فيه فاصلة أو قوس أو علامة اقتباس ناقصة.
- مراجعة كود: لصق الإعدادات القديمة والجديدة جنباً إلى جنب والمرور على الفروقات.
- الإنتاج: تصغير JSON لتقليل حجم الحمولة أو ملفات البيئة.
- استخراج بيانات: تشغيل استعلام JMESPath للإبقاء على الحقول التي يحتاجها سكربتك فقط.
- تعلم: التبديل إلى وضع الشجرة وتوسيع الكائنات حتى تتضح البنية.
- تذاكر الدعم: إصلاح JSON شبه صالح لصقه عميل من تصدير جدول بيانات.
خريطة الميزات
| الإجراء | أين | ماذا يفعل |
|---|---|---|
| تنسيق | نسخ → منسّق | JSON مقروء بمسافات بادئة منتظمة |
| تصغير | نسخ → مضغوط | سطر واحد — أصغر للسجلات أو متغيرات البيئة |
| تحقق | تلقائي عند التحرير | أخطاء التحليل مع رسالة ومرجع سطر تحت اللوحة |
| إصلاح | قائمة المزيد | يزيل الأسوار والفواصل الزائدة ويقتبس المفاتيح العارية |
| مقارنة | الشريط الوسطي | فرق هيكلي مع تمييز وتنقّل خطوة بخطوة |
| وضع الشجرة | مبدّل أوضاع المحرّر | تصفح تسلسل الكائنات والمصفوفات بالنقر |
| وضع الجدول | مبدّل أوضاع المحرّر | عرض شبيه بجدول بيانات لمصفوفات كائنات متجانسة |
| تحويل | المزيد أو الوسط | JMESPath أو JSONPath أو فلتر JS مع معاينة حية |
| فتح من رابط | قائمة فتح | جلب JSON بعيد عندما يسمح نقطة النهاية بالوصول من المتصفح |
أوضاع النص والشجرة والجدول
داخل كل لوحة، المحرّر يدعم وضع النص (لصق وتحرير JSON الخام)، وضع الشجرة (توسيع مسارات متداخلة دون تمرير)، ووضع الجدول (مراجعة مصفوفات كائنات متجانسة). التحقق يعمل في كل وضع؛ النص غير الصالح يعرض أخطاء حتى تُصلح الصياغة. للمصفوفات غير المنتظمة، استخدم الشجرة أو JMESPath أولاً.
سيناريو: تنسيق استجابة API
انسخ جسم الاستجابة من تبويب Network في أدوات المطوّر أو من curl. الصق في اللوحة اليسرى. إذا كان سطراً واحداً طويلاً، افتح قائمة النسخ واختر نسخ (منسّق) من حالة صالحة، أو دع المحرّر يحلّل — ثم انسخ منسّقاً للحافظة لتذكرتك أو توثيقك. أعد تسمية المستند (انقر العنوان) إلى GET-users-response.json لتتذكر المصدر. حمّل الملف عند الانتهاء إذا احتجت مرفقاً.
سيناريو: إصلاح خطأ نحوي
الصق JSON غير صالح — حالات شائعة: فاصلة زائدة بعد آخر خاصية، سلاسل بعلامات اقتباس مفردة، أو مفاتيح غير مقتبسة من كائن JavaScript. اقرأ كتلة الخطأ تحت اللوحة؛ تلميح السطر يضيّق البحث. افتح المزيد → إصلاح JSON. مرور الإصلاح يزيل أحرف العرض الصفرية، أسوار markdown، الفواصل الزائدة قبل } أو ]، ويضع علامات اقتباس مزدوجة للمفاتيح العارية. إذا نجح الإصلاح، تختفي لوحة الخطأ. وإلا، أصلح المتبقي يدوياً في وضع النص — غالباً قوس إغلاق ناقص في منتصف ملف كبير.
سيناريو: مقارنة نسختين من الإعدادات
ضع config.json أمس في اللوحة اليسرى واليوم في اليمنى — افتح ملفات أو الصق. اضغط مقارنة في العمود الوسطي. يجب أن يُحلّل كلا الجانبين؛ إذا كان أحدهما فيه أخطاء، أصلح أو أصلح آلياً أولاً. المسارات المتغيّرة تُبرز؛ استخدم الاختلاف السابق/التالي للتنقّل. عند إعادة تسمية حقل، سترى مساراً محذوفاً من جانب ومساراً مضافاً من الآخر. انسخ الجانب الذي تريد الاحتفاظ به عبر أزرار الأسهم الوسطية، ثم حمّل النتيجة المدمجة.
سيناريو: استخراج حقول بـ JMESPath
الصق حمولة API كبيرة في اللوحة اليمنى. افتح المزيد → تحويل (أو زر التحويل الوسطي). اختر JMESPath كلغة استعلام. مثال: users[?active==\`true\`].email لقائمة بريد المستخدمين النشطين. لوحة المعاينة تعرض JSON المصفّى قبل التطبيق. التطبيق يكتب النتيجة في تلك اللوحة — يمكنك ربط استعلام آخر إذا لزم. JSONPath وفلتر JavaScript متاحان عندما تكون صياغة JMESPath غير مريحة لشكل بياناتك.
سيناريو: لصق من Slack بعلامات backticks
تصديرات الدردشة غالباً تلف JSON بأسوار ```json أو تسبقه بكلمة json في سطر منفصل. الصق كما هو في أي لوحة وشغّل إصلاح JSON. المنظّف يزيل هذه الأغلفة قبل التحليل. إذا أرسل أحدهم جزءاً مثل name: "Ada", age: 30 دون أقواس خارجية، الإصلاح الأساسي يلفه في { } ويقتبس المفاتيح. أعد التحقق دائماً قبل الاعتماد على الإصلاحات الآلية في إعدادات الإنتاج.
سيناريو: سطر webhook من السجلات
السجلات غالباً تضمّن JSON داخل سلاسل مقتبسة. انسخ السطر للوحة اليسرى؛ إن كانت علامات الاقتباس مهرّبة، فكّها في مُرمّز وفك الترميز أولاً. شغّل إصلاح JSON للأقواس المقطوعة، ثم وسّع payload أو body في وضع الشجرة.
معالج التحويل: فلتر وترتيب واختيار
نافذة التحويل تتضمن معالجاً يبني JMESPath: اختر حقل فلتر وعاملاً وقيمة، أضف اتجاه ترتيب، وحدّد حقولاً للإسقاط. المعاينة تتحدّث مباشرة — اضغط تطبيق عندما يبدو الناتج صحيحاً. بدّل اللغة من قائمة الترس (JMESPath أو JSONPath أو فلتر JavaScript).
سير عمل النسخ بين اللوحتين
أسهم الوسط تنقل مستنداً كاملاً بين اللوحتين. حلقة شائعة: الصق استجابة API يساراً، انسخ لليمين، حوّل اليمين لاستخراج حقول، قارن، ثم حمّل اللوحة المختصرة.
معالجة محلية في المتصفح
التنسيق والتحقق والإصلاح والمقارنة والتحويل تُنفَّذ بـ JavaScript في تبويبك. إتقان لا يرسل JSON إلى خادم لهذه العمليات الأساسية — خيار عملي عند لصق مفاتيح API للاختبار، أو تصديرات موارد بشرية، أو أعلام ميزات غير منشورة. امسح اللوحتين قبل تسليم جهاز مشترك؛ المعالجة المحلية لا تمحو سجل الحافظة ولا خطر النظر من فوق الكتف. فتح JSON من رابط هو جلب مباشر من المتصفح — استخدم نقاط نهاية موثوقة فقط.
حدود صريحة
- ملفات ضخمة جداً (عدة ميغابايت) قد تبطئ التبويب — قسّم أو خذ عينة عند الإمكان.
- الإصلاح استدلالي — يصلح أخطاء شائعة وليس كل مستند غير صالح. الأخطاء الدلالية (أنواع حقول خاطئة) تمرّ التحقق.
- المقارنة هيكلية — إعادة ترتيب المفاتيح قد تظهر فروقات وهمية رغم تكافؤ البيانات.
- فتح من رابط يعتمد على CORS — كثير من واجهات API تمنع الجلب من المتصفح؛ الصق أو ارفع بدلاً من ذلك.
- ليس IDE لمخطط JSON Schema — خصائص المستند تعرض خانات مخطط، لكن تأليف مخططات كامل يخص أدوات مخصصة.
- JSON فقط — YAML أو TOML أو XML تحتاج تحويلاً في مكان آخر قبل اللصق هنا.
أخطاء تبدو كأعطال
المقارنة قبل أن يُحلّل كلا الجانبين
المقارنة تبقى فارغة أو تعرض خطأ عندما لا يزال أحد الجانبين فيه خطأ نحوي. أصلح ذلك الجانب أولاً — عداد الفروقات يظهر فقط على JSON صالح.
توقع أن الإصلاح يصحح المنطق
الإصلاح يجعل الصياغة غير الصالحة صالحة. لن يحوّل "price": "19.99" (نص) إلى رقم — ذلك يتطلب تعديلاً أو تحويلاً متعمداً.
تصغير الأسرار في التذاكر
JSON المضغوط أصعب في التنقيح. فضّل النسخ المنسّق عند مشاركة مقتطفات؛ أعد تدوير أي رمز ظهر في لقطة شاشة.
تجاهل الأحرف غير المرئية
علامات BOM والمسافات صفرية العرض من Word أو PDF تكسر المحلّل. الإصلاح يزيل كثيراً منها؛ إذا استمرت الأخطاء، أعد كتابة السطر المشبوه.
وضع الجدول على مصفوفات غير منتظمة
مصفوفات كائناتها بمفاتيح مختلفة تعرض جداول غير متساوية. انتقل لوضع الشجرة أو JMESPath للتطبيع أولاً.
إجابات مختصرة
هل هو مجاني؟
نعم — افتح الصفحة دون حساب أو تثبيت.
هل يتحقق أثناء الكتابة؟
نعم — أخطاء التحليل تظهر تحت اللوحة المتأثرة مع تفاصيل قابلة للتنفيذ.
هل يمكن مقارنة ملفين؟
نعم — حمّل أو الصق واحداً في كل لوحة، فعّل المقارنة، وتنقّل بين التمييزات.
هل يُرفع JSON؟
لا — التحرير والتحقق والإصلاح والفرق والتحويل يعمل محلياً في متصفحك.
مستندات كبيرة؟
الملفات متوسطة الحجم تعمل جيداً؛ الأحجام القصوى قد تحتاج أداة سطح مكتب أو محلّل تدفقي.
العربية وUnicode في القيم؟
UTF-8 في كل مكان — النصوص العربية والإيموجي وUnicode المهرّب تظهر صحيحة في أوضاع النص والشجرة.
أدوات مكمّلة
- مُرمّز وفك الترميز — فك Base64 لكتلة قبل لصق JSON هنا
- محول حالة النصوص — قصّ وترتيب أسطر أو تنظيف مقتطفات سجلات قبل التحليل
- محوّل حالة الأحرف — تطبيع المفاتيح قبل بناء حمولة
تسليم JSON للإعدادات وواجهات البرمجة
تحقق في محرر JSON، ورمّز النصوص الحساسة للبوابات عبر المرمّز/فك الترميز عند تشوّه يونيكود، ولا تلصق أسراراً في جلسات مشتركة. امسح المحرر على الأجهزة العامة بعد الانتهاء.
بعد التصحيح في محرر JSON انسخ الناتج إلى بيئة الاختبار قبل الإنتاج مباشرة.
تحرير بيانات الإعدادات دون كسر البنية
الصق الحمولة في محرر بيانات جيسون وصحّح الفواصل والأقواس قبل أي نشر. إن تشوّه النص العربي عبر بوابة قديمة فاستخدم المرمّز وفك الترميز بحذر ثم أعد التحقق من الصلاحية. لا تلصق أسراراً في جلسات مشتركة، وامسح المحرر بعد النسخ إلى بيئة الاختبار. فرّق بوضوح بين إعدادات التجربة والإنتاج حتى لا يُرفع مفتاح خاطئ. عند تسليم الملف للزميل أرفق سطراً يوضح الغرض والتاريخ دون وضع قيم حساسة في اسم الملف نفسه.
في سياق تحرير بيانات الإعدادات داخل منصة إتقان، راجع الناتج مرة أخيرة قبل الإرسال، وتأكد أن الخطوات التي اتبعتها موثّقة لفريقك، وأن الروابط الداخلية للأدوات ذات الصلة ما زالت تعمل كما توقعت، وأن النسخة النهائية خالية من بقايا تجربة أو نص مؤقت تركته أثناء الكتابة. أعِد فتح الأداة إن احتجت خطوة إضافية، ولا تعتمد على الذاكرة وحدها عندما يكون القرار مالياً أو نظامياً أو مرتبطاً بموعد تسليم واضح للعميل أو للجهة الطالبة.
أضف مراجعة بشرية سريعة بعد كل معالجة رقمية تتعلق بهذا الموضوع، وسمِّ الملفات بأسماء عربية واضحة تتضمن التاريخ والغرض حتى يسهل الأرشيف لاحقاً، وتجنب خلط نسخ التجربة مع النسخ النهائية في المجلد نفسه، واطلب من زميل قراءة جملة النتيجة بصوت عالٍ إن كان الخطأ فيها مكلفاً، واحتفظ بملاحظة قصيرة عما تغيّر بين المحاولة الأولى والأخيرة قبل إغلاق الجلسة.