{ } · 2 / 4 / tab · minify
منسق JSON والتحقق منه
منسق JSON يضيف المسافات البادئة إلى JSON المضغوط: مستند حجمه 60 بايت يصبح 86 بايت بمسافتين و102 بايت بأربع مسافات. الصق JSON لتحصل على نص منسق أو مصغّر، أو على سطر أول خطأ وعموده.
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
كل شيء يعمل في هذا التبويب ولا يُرفع أي شيء. يتبع المحلل RFC 8259، لذا تُعدّ التعليقات والفواصل المنفردة والفاصلة الأخيرة والمفاتيح بلا علامات اقتباس أخطاءً.
Scanned by NortonTM Safe Web
نظرة سريعة
- السعر
- بلا مقابل
- الحساب
- غير مطلوب
- المعيار
- RFC 8259 (JSON)
- الحدود
- 5 MB من الإدخال، و512 مستوى من التداخل
- الناتج
- مسافتان أو 4 مسافات أو Tab أو مصغّر، مع ترتيب اختياري للمفاتيح
- الرفع
- لا شيء — يبقى النص في تبويب متصفحك
أخطاء JSON ودقة الأرقام
تأتي هذه الأرقام من المحلل الذي تستعمله هذه الصفحة. وتُعدّ الأسطر والأعمدة بدءًا من 1.
| المستند | رمز السبب | السطر:العمود |
|---|---|---|
| {"a": 1,} | trailing_comma | 1:8 |
| {'a': 1} | single_quotes | 1:2 |
| [1, 2 | unexpected_end | 1:6 |
| {"a": 01} | bad_number | 1:8 |
| {"a": "x\q"} | bad_escape | 1:9 |
| {"a": 1 "b": 2} | missing_comma | 1:9 |
| الرقم كما كُتب | القيمة التي تعيدها JSON.parse |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
كيف تنسّق JSON
الصق JSON
اكتب أو الصق مستند JSON حتى 5 MB في حقل الإدخال. توجد عينة جاهزة لترى النتيجة أولًا.
اختر شكل الناتج
اختر مسافتين أو 4 مسافات أو Tab أو الشكل المصغّر. فعّل الخيار لترتيب مفاتيح كل كائن بحسب وحدات الشيفرة.
انسخه أو أصلحه
انسخ النتيجة أو نزّلها. وإذا كان JSON خاطئًا فتذكر الرسالة السطر والعمود والسبب، وتشير علامة ^ إلى الموضع في السطر الذي فيه الخطأ.
كيف يعمل منسق JSON
تقرأ الصفحة نصك بمحللها الخاص لقواعد JSON في RFC 8259، ثم تكتبه من جديد بالمسافات التي اخترتها. وبما أن المحلل جزء من الصفحة، فكل متصفح يعرض الرسالة نفسها للخطأ نفسه. أما JSON.parse المدمجة فتصوغ أخطاءها بشكل مختلف في Chrome وFirefox وSafari، وليست كلها تشير إلى سطر وعمود.
تُنسخ الأرقام وتسلسلات الهروب في السلاسل كما كتبتها تمامًا. فـ JSON.parse تحوّل 12345678901234567890 إلى 12345678901234567000، لأن الرقم في JavaScript عدد عشري بـ 64 بت له نحو 15 إلى 17 خانة معنوية. وتحتفظ هذه الصفحة بالخانات الـ 20 كلها وتنبّهك حين يُقرَّب رقم. وينص RFC 8259 على أن أسماء الكائن ينبغي أن تكون فريدة، لذا تُحفظ المفاتيح المكررة وتُذكر. والحدود هي 5 MB من الإدخال و512 مستوى من التداخل.
أسئلة عن منسق JSON
كيف أنسّق JSON عبر الإنترنت؟
الصق JSON في حقل الإدخال. يظهر النص المنسق فورًا، بمسافتين أو 4 مسافات أو Tab لكل مستوى. والعينة التي حجمها 60 بايت تصبح 86 بايت بمسافتين و102 بايت بأربع مسافات.
ماذا يعني "unexpected token" وأين خطئي؟
يعني أن المحلل صادف حرفًا لا تسمح به قواعد JSON في ذلك الموضع. تذكر هذه الصفحة السبب والسطر والعمود. ففي {"a": 1,} تُبلغ عن trailing_comma في السطر 1، العمود 8.
لماذا تُعدّ الفاصلة الأخيرة خطأً في JSON؟
تشترط قواعد RFC 8259 قيمةً بعد كل فاصلة، فيكون [1, 2,] و{"a": 1,} غير صالحين. وكائنات JavaScript تقبل الفاصلة الأخيرة، أما JSON فلا. احذف الفاصلة الأخيرة.
هل يمكن أن يحتوي JSON على تعليقات أو علامات اقتباس مفردة؟
لا. فـ RFC 8259 ليس فيه تعليقات، والسلاسل والمفاتيح تستعمل علامات الاقتباس المزدوجة فقط. وصيغ مثل JSON5 وJSONC تسمح بالأمرين، لكنها صيغ مختلفة، وتعدّها هذه الصفحة أخطاءً.
هل يغيّر المنسق أرقامي؟
لا. تُكتب الأرقام وتسلسلات الهروب كما أُدخلت تمامًا. فـ JSON.parse تقرّب 12345678901234567890 إلى 12345678901234567000، أما هذه الصفحة فتحتفظ بكل خانة، فلا يضيع شيء بالتنسيق.
هل يُرفع JSON الخاص بي إلى مكان ما؟
لا. تعمل الصفحة في تبويب متصفحك ولا ترسل شيئًا إلى أي خادم. وبعد تحميلها تعمل أيضًا دون اتصال. وحد الإدخال هو 5 MB.