# منسق JSON

URL: https://discuvr.org/json-formatter/?hl=ar
Last updated: 2026-11-07
MCP tool: `format_json`

الصق JSON واحصل عليه مُنسّقًا أو مُصغّرًا أو مُتحقَّقًا منه فورًا. يحصل JSON المعطوب على السطر والعمود الدقيقين، مع عرض السطر المخالف. لا يُخزَّن أي شيء.

عادةً ما يكون JSON القادم من سجل واجهة برمجة تطبيقات أو ملف إعدادات سطرًا واحدًا طويلًا، وعادةً ما يفشل JSON الذي لا يُحلَّل في مكان لا يمكنك رؤيته. هذه الأداة تُنسّقه بمسافات بادئة لتتمكن من قراءته، وتُصغّره عندما تحتاجه صغيرًا، وعند تلفه تخبرك بالسطر والعمود وتعرض لك ذلك السطر.

## ما الذي تفعله الأداة

- جمّل باستخدام مسافتين أو 4 مسافات أو علامات جدولة - أو صغّر إلى أصغر شكل صالح.
- إخراج JSON Lines: سجل مُدمج واحد في كل سطر، للسجلات وتنسيقات التدفق.
- أخطاء دقيقة - الرسالة والسطر والعمود والأسطر المحيطة.
- فرز مفاتيح كل كائن اختياريًا، بحيث يمكن مقارنة مستندين بشكل منطقي.
- هروب الأحرف غير ASCII اختياريًا إلى \uXXXX للأنظمة التي لا تدعم UTF-8.
- قبول التعليقات والفواصل الزائدة اختياريًا، مع إخبارك بدقة بما تمت إزالته.
- يُبلّغ عن شكل المستند: المفاتيح والكائنات والمصفوفات وعمق التداخل والحجم الموفَّر.

## كيف يعمل

1. الصق JSON، أو ما كنت تأمل أن يكون JSON.
2. اختر التجميل أو التصغير أو JSON Lines واضغط تنسيق.
3. انسخ أو نزّل النتيجة - أو اقرأ الخطأ وأصلح السطر الذي يحدده.

## لماذا رسالة الخطأ أهم من التنسيق

في معظم الأحيان لست هنا لجعل JSON جميلًا - أنت هنا لأن شيئًا ما رفضه ولم يقل لماذا. يُبلّغ المحلل عن السطر والعمود وما كان يتوقعه، وتطبع الأداة ذلك السطر مع السطرين المحيطين به. فاصلة مفقودة في السطر الأربعمائة من ملف إعدادات هي إصلاح يستغرق ثلاثين ثانية بمجرد أن تعرف مكانها.

## التعليقات والفواصل الزائدة

لم يسمح JSON قط بأي منهما، لكن الملفات التي يُسلّمها الناس لك فعليًا - tsconfig، إعدادات VS Code، أي شيء مُحرَّر يدويًا - مليئة بهما. تحديد الخيار يزيلهما قبل التحليل، وتذكر الأداة بعدها كم تعليقًا وكم فاصلة أزالت. إنه اختياري ويُبلَّغ عنه بدقة لأن المنسِّق الذي يُغيّر مستندك بصمت أسوأ من الذي يرفضه.

## ما لا تفعله

لا تخمّن ما قصدته. بخلاف الإزالتين أعلاه، لا يُصلَح أي شيء: قوس معقوف غير مُغلَق، أو مفتاح بين علامتي اقتباس مفردتين، أو مفتاح بلا علامات اقتباس يُبلَّغ عنه ولا يُعاد كتابته. فرز المفاتيح وإعادة المسافات البادئة لا يغيّران أبدًا ترتيب مصفوفة ولا أي نص. يسرد القسم التالي الحالات القليلة التي قد يختلف فيها الناتج مع ذلك عمّا لصقته.

## الأرقام والمفاتيح المكررة وNaN

يُحلَّل JSON الخاص بك ثم يُكتب من جديد، لذا تعود بعض الأشياء بصيغة موحّدة. تُعاد كتابة الأرقام: 1.50 تصبح 1.5، و1E3 تصبح 1000.0، و-0 تصبح 0، والعدد العشري الذي يحوي أرقامًا أكثر مما يتسع له عدد عشري عائم بطول 64 بت يُقرَّب (0.1000000000000000055 تصبح 0.1). تُحفظ الأعداد الصحيحة كما هي حتى 4,300 رقم (والأطول تُرفض). إذا كرّر كائن مفتاحًا، تبقى القيمة الأخيرة فقط، دون أي تحذير. تُقبل NaN وInfinity و-Infinity وتمرّ كما هي رغم أن JSON القياسي (RFC 8259) لا يسمح بها، والعدد الأكبر من أن يتسع له عدد عشري عائم، مثل 1e400، يخرج بصيغة Infinity. إن كان أيّ من هذا مهمًا للنظام الذي ستغذّيه، فتحقّق منه بنفسك قبل أن تثق بنتيجة خالية من الأخطاء.

## الأسئلة

**هل يُرفَع JSON الخاص بي أو يُخزَّن في أي مكان؟**

يُرسَل إلى الخادم ليُحلَّل ويُعاد مباشرةً في نفس الاستجابة. لا يُكتَب شيء على القرص، ولا يُخزَّن مؤقتًا، ولا يُسجَّل، ويحتفظ سجل الاستخدام بالأعداد فقط - الحجم وعمق التداخل والوضع المختار - أبدًا المستند نفسه.

**لماذا يقول إن JSON الخاص بي غير صالح بينما يقبله محرري؟**

عادةً بسبب التعليقات أو الفواصل الزائدة أو علامات الاقتباس المفردة أو المفاتيح غير المُقتبَسة - وكلها شائعة في ملفات الإعدادات وليس أي منها JSON صالحًا. حدّد "السماح بالتعليقات والفواصل الزائدة" للأولين؛ أما البقية فغير صالحة فعليًا ويجب إصلاحها.

**هل يمكنها التعامل مع ملف كبير؟**

حتى 2,000,000 حرف في الطلب الواحد؛ ويُرفض النص الأطول مع ذكر طوله الدقيق. للملفات بهذا الحجم تكون أداة سطر أوامر مثل jq هي الأداة الأفضل.

**ما فائدة JSON Lines؟**

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

**هل يُغيّر فرز المفاتيح بياناتي؟**

لا. ترتيب مفاتيح الكائن ليس له معنى في JSON، وترتيب المصفوفة - وهو ذو معنى - لا يُمَسّ أبدًا. الفرز موجود حتى يمكن مقارنة نسختين من نفس المستند دون ضوضاء.

**كيف أفتح ملف JSON هذا في Excel؟**

في Excel لـ Microsoft 365، احفظه كملف .json ثم اختر Data > Get Data > From File > From JSON. يفتحه Power Query: تظهر المصفوفة في المستوى الأعلى على شكل List، ويحوّلها To Table إلى عمود من Records، ويوزّع زر التوسيع (سهمان) في رأس العمود كل مفتاح على عمود مستقل؛ وتوسيع مصفوفة متداخلة يضيف صفًا لكل عنصر. يحتاج Power Query إلى مستند JSON صالح واحد، لذا أصلح أي خطأ هنا أولًا حيث يظهر لك السطر والعمود، ثم احفظ ناتج تجميل أو تصغير؛ أما ناتج JSON Lines فمخصص لأدوات السجلات. لا تحوّل هذه الأداة JSON إلى CSV أو Excel بنفسها. تتبع أسماء القوائم لغة Excel لديك.

**كيف أتحقق من JSON أو أنسّقه من سطر الأوامر؟**

يأتي Python بأداة تحقق جاهزة: الأمر python -m json.tool data.json يطبع المستند بمسافة بادئة من 4 مسافات، أو يتوقف برسالة مثل Expecting ',' delimiter: line 3 column 3. وإذا كانت jq مثبتة، فالأمر jq . data.json ينسّق المستند والأمر jq empty data.json يتحقق فقط ولا يطبع شيئًا عندما يكون الملف صالحًا. لا يقبل أيٌّ منهما التعليقات أو الفواصل النهائية، لذا يفشل ملف الإعدادات الذي يحتوي عليها؛ الصقه هنا وفعّل "السماح بالتعليقات والفواصل النهائية" لترى ما الذي حُذف.

**ماذا تعني رسالة "Expecting property name enclosed in double quotes"؟**

كان المحلل ينتظر مفتاح كائن فوجد شيئًا آخر. في الغالب تكون المفاتيح بين علامتي اقتباس مفردتين أو بلا علامات، مثل {'name': 'Asha'} المنسوخ من Python أو JavaScript، فيتوقف عند السطر 1، العمود 2: تشترط JSON علامتي اقتباس مزدوجتين حول كل مفتاح وكل نص، وهذه الأداة لا تعيد كتابة علامات الاقتباس أبدًا، لذا صحّحها بنفسك. وإذا ظهرت الرسالة نفسها عند قوس إغلاق معقوف، مثل {"a": 1,}، فالسبب فاصلة نهائية؛ فعّل "السماح بالتعليقات والفواصل النهائية" لحذفها. أما Expecting value عند True أو False أو None فيعني قيمًا من Python: تكتب JSON القيم true و false و null بأحرف صغيرة. في Python يعطي json.dumps(data) نص JSON صالحًا ولا يعطيه print(data). تظهر الأخطاء كما يصوغها محلل Python، بالإنجليزية، لتتمكن من البحث عن الرسالة كما هي.

**ماذا تعني رسالة "Extra data"؟**

قرأ المحلل قيمة JSON كاملة ثم وجد نصًا إضافيًا بعدها. الأسباب الشائعة: سجل بتنسيق JSON Lines (NDJSON) فيه كائن واحد في كل سطر، فيتوقف عند السطر 2، العمود 1؛ أو مستندان ملصقان واحدًا بعد الآخر؛ أو تعليق // بعد آخر قوس إغلاق، ويحذفه خيار "السماح بالتعليقات والفواصل النهائية". تفحص هذه الأداة مستندًا واحدًا في كل مرة، لذا الصق سجلًا واحدًا أو ضع السجلات داخل [ ] مفصولة بفواصل؛ وعند اختيار JSON Lines تُكتب بعد ذلك سجلًا في كل سطر.

## المزيد في أدوات المطورين

- [منسق Python](https://discuvr.org/python-formatter/?hl=ar)
- [عارض HTML](https://discuvr.org/html-viewer/?hl=ar)
- [حاسبة الشبكة الفرعية لـ IP](https://discuvr.org/ip-subnet-calculator/?hl=ar)
- [ترميز / فك الترميز](https://discuvr.org/encode-decode/?hl=ar)

## يُستخدم غالبًا مع

- [من CSV إلى Excel](https://discuvr.org/csv-to-excel/?hl=ar)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
