قم بتنسيق JSON والتحقق من صحته وتصغيره على الفور
JSON (JavaScript Object Notation) هو التنسيق القياسي لتبادل البيانات لواجهات برمجة تطبيقات الويب وملفات التكوين وتخزين البيانات. عندما تتلقى JSON خامًا أو مضغوطًا من استجابة واجهة برمجة التطبيقات (API) أو أداة تصحيح الأخطاء، فإن تنسيقها يجعلها قابلة للقراءة بواسطة الإنسان في ثوانٍ. عندما تحتاج إلى إرسال JSON بكفاءة، يؤدي التصغير إلى إزالة جميع المسافات البيضاء غير الضرورية.
كيفية استخدام الأداة
الصق JSON في مربع الإدخال، ثم اختر التنسيق لمشاهدته مع مسافة بادئة بشكل أنيق وقابل للقراءة، أو قم بتصغيره لإزالة كل مسافة وفاصل أسطر غير ضروريين لأصغر حجم ممكن. إذا احتوى JSON على خطأ، تقوم الأداة بالإبلاغ عن الخطأ الذي حدث بدلاً من الفشل بصمت، وهو عادةً ما يكون أسرع طريقة لاكتشاف فاصلة ضائعة أو شريحة مفقودة مدفونة في كتلة كبيرة تم لصقها من ملف سجل أو استجابة API.
ما هو جسون؟
JSON هو تنسيق بيانات قائم على النص يمثل البيانات المنظمة كأزواج ذات قيمة رئيسية (كائنات) وقوائم مرتبة (مصفوفات). تم اشتقاقها من بناء جملة كائن JavaScript ولكنها مستقلة عن اللغة - تحتوي كل لغة برمجة تقريبًا على محلل JSON.
مستند JSON الصالح هو أحد العناصر التالية: كائن، أو مصفوفة، أو سلسلة، أو رقم، أو قيمة منطقية (صواب أو خطأ)، أو خالية.
مثال على JSON صالح:
{
"الاسم": "أليس"،
"العمر": 30،
"النتائج": [95، 87، 91]،
"نشط": صحيح
}
JSON مقابل XML
حل JSON محل XML إلى حد كبير باعتباره تنسيق تبادل البيانات السائد على الويب لأنه أكثر إحكاما وأسهل في القراءة ويرتبط بشكل طبيعي بهياكل البيانات لمعظم لغات البرمجة (الكائنات والمصفوفات).
الهياكل المتداخلة في لمحة
تظهر القيمة الحقيقية للتنسيق بمجرد أن تبدأ الكائنات والمصفوفات في التداخل داخل بعضها البعض على عدة مستويات، وهو أمر شائع في استجابات واجهة برمجة التطبيقات الحقيقية. يكاد يكون من المستحيل تتبع نقطة JSON المتداخلة بعمق والمصغرة بالعين - فمطابقة قوس الفتح مع قوس الإغلاق الصحيح على بعد عدة أسطر هو بالضبط نوع المهمة الشاقة والمعرضة للخطأ التي يقوم بها الكمبيوتر بشكل أفضل بكثير من الإنسان. يعمل تنسيق JSON المنسق مع مسافة بادئة متسقة على تحويل نفس البنية إلى شيء يمكنك متابعته بصريًا، مستوى تلو الآخر، ولهذا السبب تقريبًا كل أداة مطور تعرض JSON، بدءًا من أدوات تطوير المتصفح إلى عملاء واجهة برمجة التطبيقات (API)، تقوم بتنسيقها افتراضيًا بدلاً من إظهار السلسلة الأولية المضغوطة التي أرسلها الخادم بالفعل.
الطباعة الجميلة (التنسيق)
لا تحتوي سلسلة JSON "المصغرة" على مسافة بيضاء غير ضرورية:
{"اسم": "أليس"، "العمر": 30، "النتائج": [95،87،91]، "نشط": صحيح}
على الرغم من صحة هذا، إلا أنه من الصعب قراءته. تضيف "الطباعة الجميلة" أو "التنسيق" المسافة البادئة والأسطر الجديدة:
يتم وضع مسافة بادئة لكل مستوى من مستويات التداخل بمسافتين أو 4 مسافات. وهذا يجعل الهياكل المتداخلة بعمق سهلة التنقل بصريًا.
تاريخ موجز لصعود JSON
تم نشر JSON في أوائل العقد الأول من القرن الحادي والعشرين على يد دوغلاس كروكفورد، الذي قام بتوثيق وتسمية تنسيق البيانات الذي لاحظ أنه ضمني بالفعل في البنية الحرفية للكائنات الخاصة بجافا سكريبت، بدلاً من اختراع شيء جديد تمامًا. تزامن توقيته مع نمو تطبيقات الويب التي تعتمد على AJAX والتي كانت بحاجة إلى طريقة خفيفة لتبادل البيانات بين المتصفح والخادم دون إعادة تحميل الصفحة بالكامل، كما أن تشابهها الوثيق مع كائنات JavaScript الأصلية يعني أن المتصفحات يمكنها تحليلها مجانًا تقريبًا. هذا المزيج من البساطة والتوقيت الجيد هو إلى حد كبير سبب تفوق JSON على XML الأكثر تفصيلاً كخيار افتراضي لواجهات برمجة تطبيقات الويب في غضون عقد من الزمن تقريبًا.
JSON في تطوير الويب
تستخدم واجهات برمجة تطبيقات الويب بشكل كبير JSON لهيئات الطلب والاستجابة. يتعامل كل من واجهة برمجة تطبيقات fetch() للمتصفح وXMLHttpRequest مع JSON أصلاً. تقوم اللغات الموجودة على جانب الخادم بتحليل JSON باستخدام المكتبات المضمنة: json في Python، وJSON.parse في JavaScript، وjson_decode في PHP، وGson/Jackson في Java.
لماذا يخدم التنسيق والتصغير أغراضًا مختلفة؟
توجد هاتان العمليتان لأن JSON تتم قراءته بواسطة جمهورين مختلفين تمامًا. JSON المنسق والمزود بمسافة بادئة مخصص للبشر: يستفيد المطور الذي يقوم بفحص استجابة واجهة برمجة التطبيقات (API)، أو تصحيح أخطاء ملف التكوين، أو مراجعة البيانات أثناء التطوير بشكل كبير من المسافة البادئة الواضحة التي تجعل بنية الكائنات والمصفوفات المتداخلة مرئية في لمحة. Miniified JSON مخصص للأجهزة: يؤدي تجريد كل مساحة وفاصل أسطر غير ضرورية إلى تقليل عدد البايتات التي يلزم نقلها عبر الشبكة أو تخزينها على القرص، وهو أمر مهم عند إرسال حمولة JSON آلاف أو ملايين المرات يوميًا بين الخوادم. لا يعد أي من النموذجين أكثر "صحة" من الآخر - فهما ببساطة يعملان على تحسين القراء المختلفين، ويتحرك سير العمل الجيد بين الاثنين اعتمادًا على ما إذا كان الإنسان أو الآلة هي التي تقوم بالقراءة في تلك اللحظة.
أخطاء JSON الشائعة وكيفية اكتشافها
تعد الفاصلة اللاحقة بعد العنصر الأخير في كائن أو مصفوفة واحدة من الأخطاء الأكثر شيوعًا، نظرًا لأنها صالحة في القيم الحرفية لكائن JavaScript ولكنها غير مسموح بها بشكل صريح في JSON. يجب أن تكون أسماء الخصائص دائمًا عبارة عن سلاسل ذات علامات اقتباس مزدوجة - تعتبر المفاتيح غير المقتبسة والسلاسل ذات علامات الاقتباس المفردة غير صالحة، على الرغم من أن كلاهما قانوني في JavaScript. التعليقات غير مدعومة على الإطلاق في JSON القياسي، لذا فإن ملف التكوين الذي يحتوي على تعليقات مضمنة مفيدة (مثل تنسيق JSONC الذي يستخدمه VS Code لإعداداته) من الناحية الفنية ليس JSON صالحًا ويتطلب محللًا لأغراض خاصة. نظرًا لأن القواعد النحوية لـ JSON أكثر صرامة من قواعد JavaScript، فإن نسخ كائن JavaScript حرفيًا مباشرةً في حقل JSON يعد مصدرًا شائعًا جدًا لأخطاء بناء الجملة التي تساعدك هذه الأداة على اكتشافها.
التحقق من الصحة قبل أن تثق في البيانات
بالإضافة إلى جعل JSON قابلاً للقراءة، تقوم هذه الأداة أيضًا بالتحقق من صحته، وهو أمر مهم لأن حرفًا واحدًا في غير مكانه يمكن أن يجعل كتلة JSON ذات المظهر الصحيح غير قابلة للتحليل تمامًا. بدلاً من مسح مئات الأسطر يدويًا بحثًا عن فاصلة مفقودة أو قوس غير مغلق، فإن لصق النص والسماح للمحلل بالإبلاغ عن مكان فشله بالضبط يحول البحث المرئي الممل إلى إجابة فورية ودقيقة، وهو أمر ذو قيمة خاصة عند تصحيح أخطاء ملف التكوين أو استجابة API التي يرفض البرنامج قبولها.
خاصة وفورية
يتم تشغيل جميع عمليات المعالجة بالكامل في متصفحك، لذلك يتم التنسيق والتصغير على الفور ولا يتم إرسال أي JSON الذي تلصقه إلى أي مكان، أو تسجيله أو مشاركته، ويعمل دون اتصال بمجرد تحميل الصفحة.
الأسئلة الشائعة حول منسق JSON
- ما هو جسون؟
- JSON (JavaScript Object Notation) هو تنسيق خفيف لتبادل البيانات. يستخدم نصًا يمكن قراءته بواسطة الإنسان لتمثيل كائنات البيانات التي تتكون من أزواج ومصفوفات القيمة الرئيسية.
- ماذا يفعل "التنسيق"؟
- يضيف التنسيق (يُسمى أيضًا "الطباعة الجميلة") مسافة بادئة مناسبة وأسطرًا جديدة لجعل JSON قابلاً للقراءة بواسطة الإنسان. يؤدي التصغير إلى إزالة كل المسافات البيضاء لإنتاج أصغر سلسلة JSON صالحة ممكنة.
- هل يقوم المدقق بإصلاح الأخطاء؟
- لا. تقوم الأداة بتحليل JSON والإبلاغ عن الخطأ إذا كان غير صالح. يتم ترك إصلاح الخطأ للمستخدم.