مدقّق JSON
الصق أي مستند JSON واطّلع على ما إذا كان يُحلَّل بنظافة وفق RFC 8259. يعود الإدخال غير الصالح بالمشكلة الدقيقة، فاصلة زائدة بعد آخر عنصر مصفوفة، مفتاح بلا اقتباس، سلسلة غير مغلقة، علامات اقتباس مفردة حيث يطلب JSON المزدوجة، تسلسلات هروب خاطئة، إضافة إلى السطر والعمود حيث استسلم المحلل. مفيد عند تنقيح استجابة واجهة برمجة تطبيقات، أو ملف إعداد، أو package.json حرّره زميل يدويا، أو ناتج مولّد شيفرة.
كيف يعمل التحقق من JSON
-
1
الصق JSON الخاص بك
أدرج حمولة أو ملف إعداد أو استجابة واجهة برمجة تطبيقات. المسافات البيضاء جيدة؛ علامات الجدولة والتعليقات ليست كذلك (JSON النقي بلا تعليقات).
-
2
حلّل بمحلل صارم وفق RFC 8259
يرفض المدقّق أي شيء يحظره المعيار: الفواصل الزائدة، المفاتيح بلا اقتباس، علامات الاقتباس المفردة، `undefined`، الأرقام الست عشرية.
-
3
اقرأ الخطأ
إذا فشل، تحصل على رسالة المحلل إضافة إلى موضع تقريبي: كاف للانتقال مباشرة إلى الحرف.
-
4
أصلح وأعد التحقق
صحّح المشكلة، والصق مجددا، وأكّد أن المستند صالح قبل الإيداع أو الإرسال.
ما الذي يسمح به JSON الصارم، وما لا يسمح به
تنتشر الكثير من صيغ “JSON تقريبا” (JSON5، JSONC، HJSON، هجائن شبيهة بـ YAML). معيار JSON نفسه صغير وصارم؛ يخبرك هذا المدقّق بما إذا كان مستندك يصمد أمام محلل صارم، وهو ما تشغّله معظم الأنظمة النهائية فعليا.
قواعد تربك معظم الناس
| القاعدة | صالح | غير صالح |
|---|---|---|
| يجب أن تكون المفاتيح سلاسل مزدوجة الاقتباس | {"a": 1} |
{a: 1} |
| تستخدم السلاسل الاقتباس المزدوج فقط | "hello" |
'hello' |
| لا فواصل زائدة | [1, 2, 3] |
[1, 2, 3,] |
| لا تعليقات | (لا شيء) | // comment أو /* */ |
الأرقام: لا + بادئة، لا .5 |
0.5 |
+1، .5 |
| القيم المحجوزة فقط | true، false، null |
undefined، NaN |
| ترميز UTF-8 | سلاسل يونيكود | تسلسلات بايت غير صالحة |
أخطاء شائعة ومعناها
- “رمز غير متوقع
}”، لديك فاصلة زائدة قبل القوس المعقوف المغلق. - “اسم خاصية متوقع”، المفتاح بلا اقتباس أو نسيت علامات الاقتباس حول المفتاح الافتتاحي.
- “نهاية إدخال غير متوقعة”،
{أو[افتتاحي غير مغلق؛ عُدّ الأقواس. - “حرف تحكم خاطئ”، علامة جدولة أو سطر جديد أو بايت تحكم آخر داخل سلسلة حرفية. اهرب منها كـ
\t،\n، إلخ. - “مفتاح مكرر”، ليس خطأ في معيار JSON فعليا (يقول المعيار “ينبغي” أن تكون فريدة)، لكن كثيرا من المدقّقات تحذر منه. يضع المدقّق علامة عليه كملاحظة، لا كفشل صارم.
إذا احتجت صيغا أكثر تساهلا
- JSON5 يسمح بالفواصل الزائدة والتعليقات وعلامات الاقتباس المفردة. استخدم محلل JSON5 إذا كانت تلك صيغتك المستهدفة.
- JSONC (JSON بتعليقات) هو ما تستخدمه إعدادات VS Code. جرّد التعليقات قبل التحليل الصارم.
- YAML صيغة مختلفة؛ لا تفترض أنها “مجرّد JSON بمسافات بادئة”.
نصائح
- تحقّق قبل الإيداع. خطأ مطبعي في
package.jsonأو إعداد CI يكسر البناء بالكامل حتى يلاحظه أحد. - نسّق بشكل جميل بعد التحقق لجعل فروق المراجعة قابلة للقراءة. ملف JSON من سطر واحد صالح لكنه بائس للمراجعة.
- للحمولات الكبيرة، تحقّق بالتدفّق (
jqعلى سطر الأوامر مثلا). يعاني التحليل داخل المتصفح بعد بضعة ميغابايت.
الأسئلة الشائعة
تتحقق هذه الأداة من الصحة النحوية فقط، هل هو JSON سليم البنية؟ للقواعد البنيوية (الحقول المطلوبة، قيم التعداد، أطوال السلاسل)، استخدم مدقّق JSON Schema. الخطوتان متكاملتان: لا جدوى من تشغيل تحقق المخطط على مستند ليس JSON صالحا أصلا.
لأن JSON المعياري بلا تعليقات. // و /* */ امتداد منطقي (JSONC، JSON5) لكن JSON النقي يرفضها. جرّد التعليقات قبل الإرسال إلى مستهلك صارم، أو اعتمد JSON5 عبر منظومتك.
غير صالحة في JSON الصارم. يسمح المعيار بالأرقام المنتهية فقط. سلسلها كنصوص ("NaN"، "Infinity") أو كـ null، حسب كيفية تعامل مستهلكك مع البيانات المفقودة.
لا، يجري التحقق في متصفحك، فالحمولة التي تلصقها لا تغادر الصفحة أبدا. آمن لملفات الإعداد الحساسة واستجابات الواجهات البرمجية التي تحتوي اعتمادات.
أدوات ذات صلة
مولّد إعدادات Webpack
أنشئ ملف webpack.config.js لـ webpack 5 من نموذج قصير: حدّد entry ومجلد الإخراج والوضع (mode)، ثم فعّل TypeScript وBabel ومحمّل CSS وHtmlWebpackPlugin وخادم تطوير.
مرجع جدول ASCII
جدول ASCII كامل من 0 إلى 127 مع التمثيل العشري والست عشري والثماني والثنائي والمرجع الرقمي في HTML لكل محرف، بما في ذلك أكواد التحكم مثل NUL وLF وDEL.
محوّل ترميز ملفات النصوص
حوّل النص بين UTF-8 وUTF-16 وLatin-1 وWindows-1252 وترميزات أخرى لإصلاح الأحرف المشوّهة.
مولّد ملف .gitignore
اجمع قواعد استبعاد المشروع لـ Laravel وNode.js وPython وRails. انسخ الناتج أو نزّل ملف ZIP يحتوي على .gitignore، مع إبقاء القواعد الشخصية منفصلة.
مولد ملف tsconfig.json
أنشئ ملف tsconfig.json نظيفا باختيار target وmodule وmoduleResolution وJSX وأعلام الصرامة الشائعة، ثم انسخ الإعداد المولّد إلى مشروعك.
مُحقق تنسيق XSD
قم بالتحقق من وثيقة XML وفقًا لمخطط XSD، وعرض أي اختلافات بين العناصر وأنواعها مع تحديد أرقام السطور بدقة.
الأداة متاحة بلغات أخرى
- JSON-Validator [DE]
- Validateur JSON [FR]
- Walidator JSON [PL]
- JSON 검사기 [KO]
- Trình kiểm tra JSON [VI]
- Validador JSON [PT]
- Validador JSON [ES]
- JSON Validator [ID]
- ตัวตรวจสอบความถูกต้องของ JSON [TH]
- JSONバリデーター [JA]
- JSON-validator [SV]
- JSON-validator [NL]
- JSON Validator [EN]
- Validator JSON [IT]
- Валидатор JSON [RU]
- JSON Doğrulayıcı [TR]
- JSON 校验器 [ZH]