Command Palette

Search for a command to run...

JSON Minifier: تقليص JSON إلى أصغر نموذج صالح دون تغيير البيانات

JSON Minifier: تقليص JSON إلى أصغر نموذج صالح دون تغيير البيانات

T
Toolz Team
|Aug 23, 2026|15 دقيقة قراءة

جزء من مجموعة تصغير وتجميل

المرة الأولى التي كان فيها تصغير JSON مهمًا بالنسبة لي لم تكن على موقع ويب - بل كانت على وحدة تحكم دقيقة. كنت أشحن نقطة تكوين إلى جهاز به بضعة كيلو بايت من الذاكرة، وكانت النسخة المطبوعة الجميلة التي كنت أقوم بتحريرها يدويًا ضعف حجم نفس البيانات تقريبًا مع إزالة المسافة البيضاء. نفس المفاتيح، ونفس القيم، ونفس البنية - كان الاختلاف الوحيد هو آلاف المسافات والخطوط الجديدة التي كانت موجودة فقط حتى يتمكن الإنسان من قراءتها. قم بإزالة تلك العناصر وملاءمة الحمولة. هذه هي الحيلة الكاملة وراء التصغير، وهي تنطبق تمامًا على استجابة واجهة برمجة التطبيقات التي يتم تقديمها مليون مرة يوميًا كما تنطبق على ملف التكوين المضغوط على الشريحة.

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

ليرة تركية؛DR: يؤدي تصغير JSON إلى إزالة كل مسافة وعلامة تبويب وسطر جديد يقع بين الرموز المميزة، مما يؤدي إلى إنتاج أصغر نص يتم توزيعه على نفس البيانات بالضبط. لا شيء يتعلق بالمفاتيح أو القيم أو تغير ترتيبها - فقط المسافة البيضاء هي التي تتغير. JSON Minifier يتحقق من صحة إدخالك أولاً ويبلغ عن الخطأ الدقيق للمحلل اللغوي &#39؛s إذا كان مشوهًا، فقم بتجريد المسافات البيضاء فقط خارج السلسلة الحرفية بحيث لا يتم لمس النص الموجود داخل قيمك، ويحتفظ بالبايت للرموز الرقمية للبايت بحيث تظل قيمة مثل 1.0 1.0. يعمل وضع التجميل على عكس العملية بمسافتين أو 4 مسافات أو علامات تبويب. كل شيء يعمل في متصفحك.

ماذا يفعل تصغير JSON بالفعل؟

مستند JSON عبارة عن سلسلة من الرموز المميزة - الأقواس والأقواس والنقطتين والفواصل والسلاسل والأرقام والأحرف الحرفية true، false، و null. بين هذه الرموز، تسمح قواعد JSON بأي قدر من المسافات البيضاء، وتستخدم JSON المطبوعة بشكل جميل هذا السماح بسخاء: سطر جديد بعد كل فاصلة، ومسافتين أو أربع مسافات بادئة لكل مستوى من التداخل، ومساحة بعد كل نقطتين. كل هذه المسافات البيضاء موجودة للعيون البشرية. المحلل اللغوي يتجاهل ذلك تماما.

التصغير هو عملية إزالة كل حرف من أحرف المسافات البيضاء غير المهمة، مع ترك الرموز المميزة نفسها والحد الأدنى من علامات الترقيم التي تتطلبها القواعد فقط. التكوين الذي يقرأ على شكل أربعين سطرًا مسننًا ينهار إلى سطر واحد كثيف. والأهم من ذلك، بيانات متطابق - قم بتحليل الإصدار المصغر والإصدار الجميل وستحصل على نفس الكائن بالضبط، مع نفس المفاتيح بنفس الترتيب ونفس القيم. التصغير يغير التمثيل، وليس المعنى أبدًا. يتم نشر القواعد النحوية التي يعتمد عليها كل هذا على النحو التالي RFC 8259، وهو المرجع على ما يعتبر مسافة بيضاء ضئيلة وما لا يعتبر.

المسافة البيضاء في مكان واحد هي لا غير مهم داخل سلسلة. المساحات في "hello world" هي جزء من القيمة ويجب أن تنجو من التصغير دون أن تمس. وبالتالي لا يمكن للمصغر الصحيح ببساطة حذف كل مساحة في النص؛ يجب عليه تتبع ما إذا كان داخل سلسلة حرفية وترك هذا المحتوى بمفرده. ال JSON Minifier افعل ذلك بالضبط، حيث قم بتمرير النص حرفًا بحرف وإسقاط المسافة البيضاء الموجودة بين الرموز المميزة فقط، لذلك لا يتم فقدان المساحة المتعمدة داخل إحدى قيمك أبدًا.

لماذا تهتم بتصغير JSON على الإطلاق؟

السبب الرئيسي هو الحجم، والحجم يترجم مباشرة إلى سرعة وتكلفة على الويب. يجب أن تنتقل كل بايت من استجابة JSON عبر الشبكة، وبالنسبة للحمولة المطلوبة آلاف أو ملايين المرات، تضيف المسافة البيضاء إلى عرض النطاق الترددي الحقيقي. عادةً ما تمثل المسافة البادئة وفواصل الأسطر خمس إلى ثلث المستند المطبوع بشكل جميل وحجم #39؛s، لذا فإن التصغير يمكن أن يقطع شريحة ذات معنى من كل عملية نقل. تصل الاستجابات الأصغر بشكل أسرع، خاصة على اتصالات الهاتف المحمول البطيئة، وتكون تكلفة خدمتها أقل عندما تدفع مقابل الخروج. ولهذا السبب تقوم كل واجهة برمجة تطبيقات إنتاج تقريبًا بإرجاع JSON مصغر وكل أداة بناء تجمع البيانات في تطبيق ويب تصغيرها أولاً.

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

ما يفعله التصغير لا شرائك هو السرية أو الضغط بالمعنى الثقيل. لا يزال Minified JSON نصًا عاديًا ولا يزال قابلاً للقراءة تمامًا لأي شيء يقوم بتحليله؛ إزالة المسافة البيضاء ليست تشفيرًا وليست gzip. على السلك، عادةً ما يتم ضغط JSON أعلى التصغير، ويكون الاثنان متكاملين - التصغير يزيل التكرار الذي تسمح به القواعد النحوية، ويزيل gzip التكرار في دفق البايت. تصغير للأسباب المذكورة أعلاه، وليس لأنك تعتقد أنه يخفي أي شيء.

كيف يختلف التصغير عن التنسيق والهروب والضغط؟

تتعرض هذه العمليات الأربع للتشويش باستمرار، والحفاظ عليها بشكل مستقيم يوفر عليك الوصول إلى الأداة الخاطئة. إنهم يتصرفون بناءً على أشياء مختلفة ويحلون مشكلات مختلفة.

تصغير يزيل المسافات البيضاء غير المهمة لجعل المستند أصغر مع إبقائه صالحًا JSON. التنسيق، أو التجميل، يفعل العكس: فهو يضيف مسافة بادئة وفواصل أسطر لجعل المستند قابلاً للقراءة، وهو ما تريده عندما تقوم بتصحيح أخطاء استجابة واجهة برمجة التطبيقات أو تحرير التكوين يدويًا. ال JSON Minifier هل كلاهما، لأنهما اتجاهان لنفس المحور - تصغير للآلات، تجميل للناس. الهروب هو محور مختلف تمامًا: فهو يجعل وضع جزء من النص آمنًا داخل سلسلة JSON عن طريق تحويل علامات الاقتباس وأحرف التحكم إلى تسلسلات مائلة عكسية، وهي مهمة هروب من جيسون / نزهة أداة. و ضغط مثلما يعمل gzip على البايتات الأولية أسفل طبقة JSON، مما يؤدي إلى تقليص النقل بشكل أكبر بعد أن يقوم التصغير بدوره.

يوضح الجدول الفروق والنقاط الموجودة في الأداة المناسبة لكل منها.

عملية ما يتغير النتيجة لا تزال JSON؟ أداة
تصغير يزيل المسافة البيضاء بين الرموز المميزة نعم نفس البيانات JSON Minifier
تجميل / تنسيق يضيف المسافة البادئة وفواصل الأسطر نعم نفس البيانات تنسيق JSON
يهرب يقوم بتشفير النص ليجلس داخل سلسلة JSON تصبح قيمة سلسلة هروب من جيسون / نزهة
تصغير CSS يزيل المسافة البيضاء من ورقة الأنماط إنه CSS، وليس JSON CSS Minifier
تصغير HTML يزيل المسافة البيضاء من العلامات إنه HTML، وليس JSON مصغر HTML

نفس فكرة التصغير للشحن تعمل عبر التنسيقات، ولهذا السبب CSS Minifier و مصغر HTML اجلس بجوار هذا مباشرةً - يعمل الإصدار الكامل على تصغير بيانات JSON وورقة الأنماط والترميز لنفس أسباب عرض النطاق الترددي.

هل يؤدي تصغير JSON إلى تغيير بياناتي؟

الجواب الصحيح هو أن التصغير يجب أن أبداً قم بتغيير بياناتك، والأداة الجيدة تضمن ذلك. ولكن هناك دقة تفصل بين أداة التصغير الدقيقة والساذجة، وهي تستحق الفهم لأنها يمكن أن تعضك.

تعمل العديد من أدوات التصغير عن طريق تحليل JSON إلى كائن في الذاكرة ثم إعادة تسلسله بدون مسافة بيضاء. تعتبر رحلة الذهاب والإياب هذه مريحة، ولكنها تعني أن كل قيمة تمر عبر نوع رقم اللغة &#39؛s في الطريق، ويمكن أن يعيد كتابة كيفية كتابة الأرقام مكتوب على الرغم من أن القيمة الرياضية لم تتغير. القيمة التي كتبتها كـ 1.0 يعود كما 1. قيمة مثل 1e3 يعود كما 1000. يمكن لعدد صحيح يحتوي على أرقام أكثر من نوع رقم اللغة &#39؛s أن يحمل بدقة - أي شيء يتجاوز حوالي ستة عشر رقمًا مهمًا - يمكن أن يعود متغيرًا بمهارة. بالنسبة لمعظم المستندات، لا يهم أي من هذا، ولكن إذا كان JSON الخاص بك يحمل سلاسل إصدار أو معرفات قاعدة بيانات أو أعدادًا عشرية ثابتة الدقة كأرقام، فيمكن لمصغر إعادة التوزيع وإعادة التحديد إتلافها بهدوء.

ال JSON Minifier يتجنب الفخ عن طريق التصغير بشكل مختلف. لا يزال يتحقق يتم اكتشاف مدخلاتك عن طريق تحليلها، لذلك يتم اكتشاف JSON المشوه والإبلاغ عنه. ولكن لإنتاج المخرجات، فإنه يقوم بتجريد مسافة بيضاء مباشرة من النص الأصلي الخاص بك بدلاً من إعادة تسلسل كائن تم تحليله، مما يعني أنه يتم الحفاظ على كل رمز رقمي تمامًا كما كتبته. زائدة الصفر 1.0 يبقى 1.0؛ عدد صحيح مكون من ثلاثين رقمًا يحتفظ بجميع الأرقام الثلاثين. يمكنك تقليل حجم التصغير دون أي خطر لإعادة كتابة أرقامك - أفضل التحقق من الصحة ودقة البايت مقابل البايت. إن اتجاه التجميل، الذي يدور حول سهولة القراءة بدلاً من النقل، يعمل على تطبيع التنسيق من خلال إعادة التسلسل القياسي، وهو السلوك المتوقع عند إعادة التنسيق للقراءة البشرية.

كيف أقرأ الأخطاء عندما لا يتم تصغير JSON الخاص بي؟

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

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

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

مثال عملي: من التكوين القابل للقراءة إلى الحمولة المشحونة

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

لصق التكوين في JSON Minifier، انقر فوق Minify، وسوف ينهار إلى سطر واحد. قد تقرأ شارة الحجم ما يقرب من 512 بايت وصولاً إلى 340، أي تقليل بمقدار الثلث، وهو الفرق بين ملاءمة المتغير &#39؛s الحد وليس. انسخ السطر المصغر مباشرة إلى ملف البيئة الخاص بك. لاحظ أن المهلة التي كتبتها كـ 1.5 لا يزال 1.5 وعدد إعادة المحاولة 3 لا يزال 3 - الأرقام لم تمس، وإذا كان لديك معرف رقمي طويل، فسيظل سليمًا أيضًا، لأن الأداة جردت المسافات البيضاء بدلاً من إعادة تحليل القيم.

بعد أسابيع، يجعلك تقرير الأخطاء تحدق في نفس النقطة المصغرة في السجل، وهي غير قابلة للقراءة كخط واحد كثيف. قم بلصقها مرة أخرى في الأداة، وانقر فوق "تجميل"، واختر مسافتين، وتتوسع إلى النموذج ذي المسافة البادئة الذي يمكنك مسحه ضوئيًا بالفعل. إصلاح القيمة، وتصغيرها مرة أخرى، وشحنها مرة أخرى. هذا التدفق ثنائي الاتجاه - تجميل القراءة والتحرير، وتصغير التخزين والإرسال - هو الإيقاع اليومي، ووجود كليهما في مكان واحد مع حجم القراءة والإبلاغ الدقيق عن الأخطاء هو ما يجعلها سريعة. بالنسبة للمجموعة الأوسع من أدوات البناء والشحن المساعدة، يقع هذا بين مجموعة أدوات مطور الويب يجمع الباقي.

الأسئلة الشائعة

كيف يمكنني تصغير JSON عبر الإنترنت؟ الصق JSON الخاص بك في منطقة الإدخال وانقر فوق Minify. تقوم الأداة بإزالة كافة المسافات البيضاء خارج قيم السلسلة وتظهر النتيجة المضغوطة مع توفير الحجم. كل شيء يعمل في متصفحك، لذلك لا يتم تحميل أي شيء.

هل يؤدي تصغير JSON إلى تغيير البيانات؟ لا. يؤدي التصغير فقط إلى إزالة المسافة البيضاء بين الرموز المميزة، وبالتالي تظل المفاتيح والقيم وترتيبها متطابقة. يتم تحليل المستند المصغر إلى نفس الكائن أو المصفوفة تمامًا مثل المستند الأصلي المطبوع بشكل جميل.

لماذا تصغير JSON على الإطلاق؟ يعد Minified JSON أصغر حجمًا، لذا فهو ينتقل بشكل أسرع عبر الشبكة، ويستخدم نطاقًا تردديًا أقل، ويقوم بالتوزيع بسرعة أكبر قليلاً. عادةً ما يتم تصغير استجابات واجهة برمجة التطبيقات وملفات التكوين والبيانات المجمعة في تطبيقات الويب في الإنتاج لهذه الأسباب.

هل تحافظ هذه الأداة على تنسيق الأرقام مثل 1.0 أو الأعداد الصحيحة الكبيرة؟ نعم. نظرًا لأنه يقوم بتجريد المسافات البيضاء بدلاً من إعادة تحليل القيم، يتم الاحتفاظ بالرموز الرقمية تمامًا كما كتبتها. تظل قيمة مثل 1.0 هي 1.0 ويحتفظ عدد صحيح كبير جدًا بجميع أرقامه، والتي سيعيدها المُصغر للتحليل وإعادة التحديد.

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

هل يمكنه تصغير JSON بالتعليقات أو الفواصل اللاحقة؟ لا يسمح معيار JSON بالتعليقات أو الفواصل اللاحقة، لذا تقوم الأداة بالإبلاغ عن تلك الأخطاء كأخطاء أثناء التحقق من الصحة. قم بإزالة التعليقات والفواصل اللاحقة أولاً، أو قم بتحويل JSONC الخاص بك إلى JSON صارم، ثم قم بالتصغير.

هل من الآمن تصغير JSON الحساس هنا؟ نعم. تتم جميع عمليات المعالجة في JavaScript داخل متصفحك، لذلك لا يتم إرسال JSON إلى أي خادم، ولا يتم تسجيل أي شيء، وتعمل الأداة مع تعطيل اتصالك. يمكنك تصغير الحمولات التي تحتوي على مفاتيح API أو البيانات الشخصية بأمان.

لماذا يُظهر JSON الخاص بي خطأً بدلاً من تصغيره؟ تتحقق الأداة من صحة إدخالك قبل التصغير، لذا فإن الخطأ يعني أن JSON مشوه، وعادةً ما يكون فاصلة مفقودة أو إضافية، أو مفتاحًا غير مقتبس، أو سلسلة ذات اقتباس واحد، أو قوسًا غير متوازن. تتضمن الرسالة موضع المشكلة حتى تتمكن من إصلاحها.


هذا الدليل يرافق مجانا JSON Minifier أداة على Toolz.dev - لا يوجد تسجيل ولا تحميلات، تعمل دون اتصال بالإنترنت.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!