أدوات جيسون · 60دقيقة قراءة
منسق JSON: جميل ومصغر وصالح بالفعل
يقوم منسق JSON بثلاث وظائف، ومن الجدير معرفة أي واحدة تحتاج إليها بالفعل: فهو يجعل JSON الكثيف قابلاً للقراءة، ويجعل JSON مضغوطًا وقابلاً للقراءة، ويخبرك بالضبط بالمكان الذي توقف فيه الملف عن كونه JSON صالحًا. يلجأ معظم الأشخاص إلى أداة تنسيق لأن شيئًا ما معطل، ورسالة الخطأ، وليس الطباعة الجميلة، هي الجزء الذي ينقذ فترة ما بعد الظهر.
تم التحديث
طباعة جميلة: للبشر وطلبات السحب
المسافة البادئة 1〃 قابلة للمراجعة 2〃. المسافتان هما التقليد المتبع في معظم قواعد تعليمات JavaScript ويتطابقان مع الإعداد الافتراضي في `JSON.stringify(value, null, 2)`؛ أربع مساحات تناسب المحررين الذين تم تكوينهم بهذه الطريقة. إن اختيار التنسيق له أهمية أقل من الاتساق، لأن المسافة البادئة المختلطة تحول كل اختلاف لاحق إلى ضوضاء. إذا تم إنشاء JSON الخاص بك، فقم بتعيين المسافة البادئة في المولد مرة واحدة ودع المنسق ينفذها محليًا للحمولات الملصقة.
تصغير: للحمولات الموجودة على السلك
تعد المسافة البيضاء في JSON اختيارية، لذا فإن إزالتها تعتبر توفيرًا مجانيًا. في استجابة سعة 200 كيلو بايت، يكون الفرق عادةً 15-30 بالمائة من البايتات، وهو أمر مهم عندما تكون الميزانية عبارة عن اتصال محمول أو رأس ذاكرة تخزين مؤقت تحاول احترامه. يعد التصغير أيضًا الخطوة الصحيحة قبل تخزين الحمولة في عمود قاعدة البيانات أو تضمينها في URL - ما عليك سوى التصغير كخطوة إنشاء بدلاً من التصغير يدويًا، نظرًا لأن التصغير اليدوي JSON هو المكان الذي ينتهي فيه تصحيح الأخطاء.
التحقق من الصحة: الأخطاء التي سترتكبها بالفعل
JSON عبارة عن قواعد نحوية صغيرة عن عمد، ولهذا السبب تتكرر أخطائها. يعود كل خطأ JSON غير صالح تقريبًا إلى إحدى العادات الخمس التي تم التقاطها من JavaScript أو YAML:
- الفواصل الزائدة - `{"a": 1,}` هي JavaScript صالحة و JSON غير صالحة.
- علامات الاقتباس المفردة أو المفاتيح غير المقتبسة - يجب أن تصبح `{a: 'b'}` `{"a": "b"}`.
- التعليقات - `// note` و `/* note */` ليس لها مكان في JSON على الإطلاق.
- أحرف التحكم التي لم يتم إلغاؤها - يجب أن تكون الأسطر الجديدة الحرفية داخل السلسلة `\n`.
- كائنات متسلسلة - كائنان من المستوى الأعلى جنبًا إلى جنب، عادةً من ملف سجل يحتوي على مستند واحد في كل سطر.
يجب أن يخبرك المنسق بالسطر والعمود ويعرض المقتطف. "الرمز المميز غير المتوقع" وحده يتركك تقوم بالتمرير؛ "السطر 84، العمود 17 - فاصلة زائدة قبل }" هو إصلاح.
لماذا التحقق من صحة قبل التصحيح
عندما يفشل التكامل، فإن الغريزة هي فحص التعليمات البرمجية. في كثير من الأحيان، تكون الحمولة نفسها مشوهة: يُصدر قالب فاصلة شاردة، أو يقوم خط أنابيب سجل باقتطاع سطر، أو يتم تقديم نسخ ولصق من مستند علامات اقتباس ذكية. يؤدي تشغيل المنسق أولاً إلى فصل عبارة "البيانات خاطئة" عن "الكود خاطئ" في ثوانٍ، وعادةً ما يشير رقم السطر الدقيق مباشرةً إلى القالب الذي أنتجه.
الملفات الكبيرة والخصوصية
تحتوي الاستجابات وعمليات تصدير قاعدة البيانات في كثير من الأحيان على الرموز المميزة أو الحقول الشخصية أو بيانات العملاء. يعني المنسق من جانب الخادم تحميل تلك الحمولة إلى طرف ثالث لإعادتها مرة أخرى - وهو سؤال يتعلق بحماية البيانات ليس له أي جانب إيجابي، لأن التنسيق هو عملية محلية تافهة. يتم توزيع المنسق YamlBox JSON في المتصفح دون الحاجة إلى مكالمات الشبكة، لذلك فهو يعمل دون اتصال ويحافظ على الحمولة على جهازك؛ تمنحك نفس الصفحة خيارات المسافة البادئة، وفرز المفاتيح للاختلافات المستقرة، والإحصائيات المباشرة مثل العمق وعدد المفاتيح.
تنسيق JSON — الأسئلة المتداولة
ما الفرق بين التنسيق والتحقق من الصحة JSON؟
يؤدي التنسيق إلى تغيير المسافة البيضاء فقط ويكون آمنًا دائمًا بمجرد تحليل المستند. التحقق من الصحة هو التحقق الذي يتم تحليله على الإطلاق - سيقوم المنسق الذي لا يمكنه تحليل مدخلاتك بالإبلاغ عن سطر وعمود بدلاً من إنتاج المخرجات، وهذا التقرير هو الجزء المفيد.
ما هو المقدار الأصغر الذي تم تصغيره JSON؟
عادةً 15-30 بالمائة، اعتمادًا على مدى تداخل الوثيقة وطول المفاتيح. التصغير لا يفقد أي قيمة: المسافة البيضاء بين الرموز المميزة لا تحمل أي معنى في JSON، لذلك يتم تحليل المستند المصغر إلى نفس القيمة تمامًا.
هل من الآمن تنسيق JSON يحتوي على أسرار في المتصفح؟
نعم، عندما يعمل المنسق بالكامل من جانب العميل. لا يوجد تحميل ولا طلب إلى الخادم، لذا تظل الرموز المميزة الموجودة في الحمولة في علامة التبويب الخاصة بك - وتستمر الصفحة في العمل عندما تكون الشبكة مغلقة، ويمكنك التحقق من ذلك بنفسك.
الأدوات المذكورة في هذه التدوينة
المزيد من المقالات للقراءة
60دقيقة قراءة
JSON diff: مقارنة البيانات بالطريقة التي تم تنظيمها بها بالفعل
قارن حمولتي JSON مع فرق JSON الهيكلي الذي يتجاهل ترتيب المفاتيح والمسافات البيضاء، ويسلط الضوء على القيم المنقولة، ويوضح سبب تضليل فروق النص.
60دقيقة قراءة
مخطط JSON إلى JSON: من عينة الحمولة إلى العقد
قم بتحويل مخطط JSON إلى مخطط JSON في المتصفح: استنتج مسودة من حمولة حقيقية، ثم قم بتقوية الحقول والتنسيقات والتعدادات المطلوبة - بالإضافة إلى حدود الاستدلال.
60دقيقة قراءة
YAML إلى JSON: تحويل التكوينات دون أن تفقد عقلك
قم بتحويل YAML إلى JSON في المتصفح مع دعم المستندات المتعددة ومواقع الأخطاء الدقيقة - بالإضافة إلى أخطاء YAML التي تقطع خطوط أنابيب CI بهدوء.
- مقال أطول للقراءة: YAML مقابل JSON: متى يتم استخدام أي (وكيفية التحويل)