أداة تنسيق JSON

نسّق JSON وتحقق من صحته وصغّره فورًا.

الصق JSON الخاص بك

data.json
جاهز. الصق JSON واختر إجراءً.

تتم معالجة JSON في متصفحك. لا يُرفع أي شيء إلى BroBroGo.

الأسئلة الشائعة

هل يُرفع JSON الخاص بي؟

لا. تعمل أداة التنسيق في متصفحك ولا ترفع JSON الخاص بك.

ماذا يفعل التصغير؟

يزيل التصغير المسافات وفواصل الأسطر غير الضرورية مع إبقاء بيانات JSON نفسها.

فهم بنية وصيغة JSON وأهمية التحقق منها

تُعد صيغة JSON (JavaScript Object Notation) الركيزة الأساسية لتبادل البيانات عبر شبكة الإنترنت وفي واجهات برمجة التطبيقات (APIs). تعتمد هذه الصيغة على بنيتين أساسيتين: الكائنات (مجموعات من مفاتيح وقيم) والمصفوفات (قوائم مرتبة من القيم). ونظرًا لأن الأنظمة البرمجية تتطلب دقة تامة لمعالجة البيانات، فإن أي خطأ بسيط في الكتابة قد يؤدي إلى فشل النظام بالكامل.

تظهر أهمية التحقق من صحة JSON عند استلام استجابات من واجهات برمجة التطبيقات أو عند تعديل ملفات الإعدادات. تضمن عملية التحقق خلو البيانات من الأخطاء الهيكلية الشائعة قبل تمريرها إلى الأنظمة البرمجية. تتيح لك هذه الأداة فحص البيانات فورًا، حيث تعرض حالة "جاهز. الصق JSON واختر إجراءً." عند البدء، وتتحول إلى "JSON صالح" عندما تكون البنية سليمة تمامًا.

تنسيق وتصغير بيانات JSON لتحسين القراءة والنقل

تأتي البيانات المستلمة من الأنظمة البرمجية غالبًا في سطر واحد مضغوط يصعب على البشر قراءته وفهمه. يساعد تنسيق JSON في إعادة تنظيم البيانات وإضافة مسافات بادئة وفواصل أسطر توضح التداخل الهيكلي للكائنات والمصفوفات. عند استخدام الأداة لتنسيق البيانات، ستظهر لك رسالة التأكيد "تم تنسيق JSON.". يمكنك التحكم في مظهر التنسيق عبر اختيار "المسافة البادئة" المناسبة، وتحديد "الصيغة" المطلوبة سواء كانت "JSON" القياسية أو "JSONC" التي تدعم التعليقات.

على الجانب الآخر، تبرز أهمية تصغير JSON عند الرغبة في تخزين البيانات أو نقلها عبر الشبكة. يعمل التصغير على إزالة كافة المسافات وفواصل الأسطر غير الضرورية لتقليل حجم الملف إلى الحد الأدنى. عند تطبيق هذا الإجراء، تعرض الأداة رسالة "تم تصغير JSON.". تظهر الأداة أيضًا إحصائيات فورية للمدخلات تشمل عدد "الأحرف"، وعدد "الأسطر"، و"الحجم" الإجمالي للبيانات.

استكشاف البيانات المعقدة عبر عرض الشجرة والبحث

عند التعامل مع ملفات JSON ضخمة ومتداخلة، يصبح تتبع القيم في وضع "الشفرة" أمرًا بالغ الصعوبة. توفر الأداة وضع "شجرة" التفاعلي الذي يتيح لك تصفح البيانات كبنية شجرية منظمة. يمكنك استخدام زر "توسيع الكل" لفتح جميع العقد، أو "طي الكل" لإغلاقها. كما يمكنك التحكم في العقد الفردية باستخدام زر "توسيع {key}" أو "طي {key}".

إذا كانت البيانات غير صالحة، سيعرض لك قسم الشجرة تنبيهًا يطلب منك: "أصلح JSON لعرضه كشجرة.". ولضمان استقرار الأداء، هناك حدود تقنية للعرض؛ فإذا تجاوزت البيانات الحدود المسموحة، ستظهر رسالة "JSON هذا كبير جدًا لعرضه كشجرة." أو "يحتوي JSON هذا على قيم أكثر من أن تُعرض كشجرة.". وعند محاولة توسيع شجرة ضخمة، سيتم تقييد العرض مع رسالة "JSON هذا أكبر من أن يُوسَّع بالكامل — يتم عرض أول {count} صف." مع توفير زر "عرض {count} إضافية…" لمتابعة التصفح.

تتضمن واجهة الشجرة ميزة "البحث في المفاتيح والقيم". أثناء البحث، تعرض الأداة مؤشر المطابقة مثل "{current} من {total}" أو "{current} من {total}+" في حال تجاوز الحد الأقصى للمطابقات، أو "لا توجد نتائج مطابقة". يمكنك التنقل بين النتائج عبر زري "النتيجة السابقة" و"النتيجة التالية".

تحديد أخطاء JSON الشائعة وإصلاحها تلقائيًا

تتعدد الأسباب التي تجعل ملف JSON غير صالح. تعرض الأداة رسالة "JSON غير صالح" مع تحديد موقع المشكلة بدقة عبر صيغة "السطر {line}، العمود {col}" ووصف دقيق للخطأ، مع توفير زر "الانتقال إلى الخطأ" للوصول السريع. تشمل الأخطاء الهيكلية التي تكشفها الأداة ما يلي:

  • "فاصلة مفقودة بين العناصر"
  • "فاصلة زائدة قبل القوس الختامي"
  • "يجب إحاطة مفاتيح الكائن بعلامتي اقتباس مزدوجتين"
  • "نقطتان مفقودتان بعد اسم الخاصية"
  • "سلسلة نصية تفتقد علامة الاقتباس الختامية"
  • "ينتهي JSON مبكرًا جدًا — يبدو مبتورًا"
  • "حرف غير متوقع في موضع يجب أن يحتوي على قيمة"
  • "JSON هذا متداخل بعمق يتعذر معه معالجته"
  • "مفتاح مكرر {key} — احذف أحدهما قبل التنسيق" (حيث تمنع الأداة دمج المفاتيح المكررة تلقائيًا وتطالب بمعالجتها يدويًا).

توفر الأداة ميزة ذكية لاكتشاف التنسيقات غير القياسية الشبيهة بـ JSON وعرض خيارات لإصلاحها عبر زر "معاينة الإصلاح". تفتح هذه الميزة نافذة "معاينة الإصلاح" التي تقارن بين النص "الأصل" والنص "بعد الإصلاح". تشمل الحالات التي يتم كشفها وإجراءات معالجتها ما يلي:

التنسيق المكتشف الرسالة التوضيحية الإجراء عند التطبيق
كتلة شيفرة Markdown "يبدو هذا JSON داخل كتلة شيفرة Markdown." "عند التطبيق يُحتفظ فقط بـ JSON الموجود داخل الكتلة."
نصوص مُهرَّبة "يبدو هذا JSON مُهرَّبًا داخل سلسلة نصية." "عند التطبيق تُفكّ السلسلة لتصبح JSON عاديًا."
قاموس Python "يبدو هذا قاموسًا بنمط Python وليس JSON." "عند التطبيق تُعاد كتابة علامات الاقتباس و True/False/None بصيغة JSON."
أسطر JSON المتعددة "يبدو هذا JSON Lines — قيمة واحدة في كل سطر." "عند التطبيق تُجمع الأسطر في مصفوفة JSON واحدة."
غلاف JSONP "يبدو هذا JSON ملفوفًا داخل استدعاء JSONP." "عند التطبيق يُزال غلاف الاستدعاء."
صيغة JSONC "يبدو هذا JSONC — تعليقات أو فواصل زائدة. بدّل الصيغة إلى JSONC أو طبّق الإصلاح." "عند التطبيق تُزال التعليقات والفواصل الزائدة."

إذا كان الإصلاح مناسبًا، يمكنك الضغط على "تطبيق الإصلاح" لتظهر رسالة "تم تطبيق الإصلاح. اضغط Ctrl/Cmd+Z للتراجع.". وإذا أردت التراجع عن التغيير، يمكنك الضغط على "إلغاء". في حال تعذر الإصلاح، ستظهر رسالة "تعذّر إصلاح هذا الإدخال تلقائيًا.". وإذا كان المستند ضخمًا، قد تظهر رسالة "المعاينة مختصرة — الإصلاح يشمل المستند بأكمله.".

استخراج البيانات وترتيب المفاتيح وإدارة الملفات

تتيح الأداة ميزة "ترتيب المفاتيح" لتنظيم الكائنات. عند تفعيل هذا الخيار، يظهر تلميح يوضح: "يرتّب مفاتيح الكائنات ترتيبًا تكراريًا حسب نقاط الترميز. ترتيب المصفوفات لا يتغيّر أبدًا.". بعد التطبيق، تظهر رسالة التأكيد "تم ترتيب المفاتيح — ترتيب المصفوفات لم يتغيّر. اضغط Ctrl/Cmd+Z للتراجع.".

عند تصفح الشجرة، يمكنك النقر على أي عقدة لفتح قائمة "خيارات النسخ لـ {key}" والتي تتيح لك ثلاثة خيارات لاستخراج البيانات بدقة:

  1. "نسخ القيمة": لنسخ قيمة العقدة المحددة مباشرة.
  2. "نسخ JSON Pointer": لنسخ المسار القياسي للعنصر وفقًا لـ RFC 6901.
  3. "نسخ JSONPath": لنسخ مسار استعلام العنصر لتسهيل استخدامه في التطبيقات البرمجية.

تسمح الأداة أيضًا برفع الملفات مباشرة عبر زر "فتح ملف" أو سحب وإفلات الملف في منطقة "أفلت ملف.json أو.txt هنا". عند تحميل الملف بنجاح، تظهر رسالة "تم تحميل {name} ({size}).". يمكنك بعد الانتهاء من العمل تنزيل الملف المعدل لتظهر رسالة "تم تنزيل {name}."، أو نسخ النص بالكامل لتظهر رسالة "تم النسخ إلى الحافظة.". وإذا حاولت إجراء عمليات دون وجود نص، ستنبهك الأداة برسالة "الصق بعض JSON أو افتح ملفًا أولًا.". كما يمكنك تصفير مساحة العمل عبر زر "مسح" لتظهر رسالة "تم مسح المحرر.".

القيود التقنية وقواعد معالجة الملفات الكبيرة

لتوفير تجربة استخدام مستقرة، تخضع الأداة لمجموعة من القواعد والقيود التقنية الصارمة:

  • الحد الأقصى للمدخلات: الحد الأقصى لحجم الملفات التي يمكن معالجتها هو 10 ميجابايت (MiB). إذا تم تجاوز هذا الحد، تظهر رسالة "الملف كبير جدًا — الحد الأقصى {limit}." أو "المدخلات أكبر من {limit}، وهذا يتجاوز ما يمكن لهذه الأداة معالجته.".
  • نوع الملف والترميز: تدعم الأداة فقط الملفات بامتداد .json أو .txt. في حال اختيار ملف آخر، تظهر رسالة "نوع الملف غير مدعوم — اختر ملف.json أو.txt.". كما يجب أن تكون الملفات بترميز UTF-8 حصريًا، وإلا ستظهر رسالة "هذا الملف ليس نصًا بترميز UTF-8، لذا لا يمكن فتحه هنا.". وفي حال حدوث خطأ غير متوقع أثناء القراءة، تظهر رسالة "تعذّرت قراءة هذا الملف. جرّب اختياره مرة أخرى.".
  • زمن المعالجة: العتبة القصوى للمعالجة المتزامنة الفورية هي 250,000 حرف. إذا استغرق فحص البيانات وقتًا طويلًا، تتوقف العملية وتظهر رسالة "استغرق فحص JSON هذا وقتًا طويلًا فتم إيقافه. جرّب مستندًا أصغر.".
  • سلامة الأرقام الكبيرة: تحافظ الأداة تمامًا على الأرقام الصحيحة الكبيرة (Large Integers) دون أي فقد في الدقة الرياضية أثناء عمليات التنسيق أو التصغير.

خصوصية البيانات ومعالجتها

تتم معالجة بيانات JSON الخاصة بك بالكامل داخل متصفح الويب الخاص بك. لا يتم رفع أي جزء من البيانات أو النصوص التي تدخلها إلى خوادم BroBroGo، مما يضمن بقاء بياناتك محليًا على جهازك طوال فترة استخدام الأداة.

الأسئلة الشائعة

هل يُرفع JSON الخاص بي؟

لا. تعمل أداة التنسيق في متصفحك ولا ترفع JSON الخاص بك. تتم المعالجة محليًا بالكامل.

ماذا يفعل التصغير؟

يزيل التصغير المسافات وفواصل الأسطر غير الضرورية مع إبقاء بيانات JSON نفسها. يساعد ذلك في تقليل حجم البيانات لتسريع نقلها وتوفير مساحات التخزين.

ما هي صيغة JSONC؟

هي صيغة مبنية على JSON تسمح بكتابة التعليقات وإضافة الفواصل الزائدة في نهاية القوائم والكائنات، وهي ميزة غير مدعومة في صيغة JSON القياسية. تتيح لك الأداة التبديل إليها عبر خيار "الصيغة".

لماذا يظهر لي خطأ عند وجود مفاتيح مكررة؟

تعتبر الأداة وجود مفاتيح مكررة داخل الكائن الواحد خطأً هيكليًا يجب إصلاحه. بدلاً من دمج القيم أو تجاهلها تلقائيًا، تطلب منك الأداة إزالة التكرار يدويًا لضمان سلامة البيانات وعدم فقدان أي قيم مهمة.