تنسيق | تحقق | تصغير

> تنسيق | تحقق | تصغير <

// قم بتنسيق وتحقق وتصغير بيانات JSON فوراً

[FORMAT]

طباعة منسقة

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

[MINIFY]

إخراج مضغوط

قم بتصغير JSON عن طريق إزالة جميع المسافات. قلل حجم الملف للإنتاج وواجهات API.

[VALIDATE]

فحص بناء الجملة

تحقق من بناء جملة JSON فوراً. احصل على رسائل خطأ مفصلة.

// حول تنسيق JSON

ما هو JSON:

JSON (ترميز كائن جافا سكريبت) هو تنسيق خفيف لتبادل البيانات محدد بواسطة RFC 8259. سهل القراءة والكتابة للبشر، وسهل التحليل والتوليد للآلات.

مثال:

{"name":"John","age":30} → {\n "name": "John",\n "age": 30\n}

حالات الاستخدام الشائعة:

  • >تصحيح وفحص استجابات API
  • >تنسيق ملفات التكوين
  • >التحقق من البيانات قبل المعالجة
  • >تقليل الحجم بالتصغير
  • >فرز المفاتيح للإخراج المتسق

>> الأسئلة المتكررة

س: ما هو منسق JSON؟

ج: منسق JSON يأخذ بيانات JSON الخام أو المصغرة ويعيد تنسيقها بمسافة بادئة وفواصل أسطر مناسبة.

س: ما الفرق بين التجميل والتصغير؟

ج: التجميل يضيف المسافات البادئة وفواصل الأسطر. التصغير يزيل جميع المسافات غير الضرورية لتقليل حجم الملف.

س: كيف يعمل التحقق من JSON؟

ج: يتحقق التحقق من JSON ما إذا كان الإدخال يتوافق مع مواصفات JSON (RFC 8259)، بما في ذلك الأقواس وعلامات الاقتباس وأنواع البيانات.

س: ما فائدة فرز المفاتيح؟

ج: الفرز الأبجدي يعيد ترتيب جميع مفاتيح الكائن في بنية JSON للمقارنة السهلة والاتساق.

س: كيف يقارن JSON بـ YAML؟

ج: JSON يستخدم الأقواس المتعرجة مع بناء جملة صارم، بينما YAML يستخدم المسافة البادئة. JSON مدعوم على نطاق أوسع في واجهات API. YAML أكثر قابلية للقراءة لكنه أكثر تعقيداً في التحليل.

// أخطاء JSON الشائعة

هذه الصيغ مقبولة في JavaScript لكنها غير صالحة في JSON الصارم.

غير صالحصالح
{'a': 1}{"a": 1}
{"a": 1,}{"a": 1}
{a: 1}{"a": 1}
{"a": undefined}{"a": null}
{"a": 01}{"a": 1}

// تنسيق JSON في الشيفرة

JavaScript  JSON.stringify(obj, null, 2)
Python      json.dumps(obj, indent=2, ensure_ascii=False)
PHP         json_encode($obj, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)
Go          json.MarshalIndent(v, "", "  ")
Java        new ObjectMapper().writerWithDefaultPrettyPrinter()
CLI         jq . file.json
CLI         python3 -m json.tool file.json

>> المزيد من الأسئلة

س: هل يغيّر التجميل بياناتي؟

ج: لا، يتغير فقط الفراغ والمسافات البادئة. يبقى ترتيب المفاتيح والقيم كما هو ما لم تفعّل ترتيب المفاتيح صراحةً.

س: هل تفقد الأرقام الكبيرة دقتها؟

ج: تقرأ JavaScript الأرقام كفاصلة عائمة 64 بت، لذا قد تفقد الأعداد الصحيحة الأكبر من 9,007,199,254,740,991 (2^53−1) دقتها. إذا كانت معرّفاتك بهذا الحجم فخزّنها كسلاسل نصية.

س: ما الفرق بين JSON وكائن JavaScript؟

ج: JSON صيغة نصية صارمة: المفاتيح والسلاسل بين علامات اقتباس مزدوجة، ولا تُسمح الدوال ولا undefined ولا التعليقات ولا الفواصل الختامية. أما كائن JavaScript الحرفي فأكثر تساهلاً بكثير.

// لغات أخرى