→ جميع الأدوات JSON

تهريب / فك تهريب JSON

حوّل بين JSON الخام وسلاسل JSON المُهرَّبة — فوراً.

0 حرف

100% في المتصفح

يتم التهريب بالكامل في متصفحك. لا يتم إرسال بياناتك إلى أي خادم أبدًا.

ماذا يعني تهريب JSON

يُحوّل تهريب JSON سلسلة نصية خام (أو مستند JSON مُسلسَل) لتتمكن من تضمينها بأمان داخل قيمة سلسلة JSON أخرى. في JSON، يجب تهريب أحرف معينة بشرطة مائلة عكسية: علامات الاقتباس المزدوجة (\") والشرطات المائلة العكسية (\\\\) وأحرف التحكم مثل فواصل الأسطر (\n) والإرجاع (\r) والجدولة (\t) وغيرها.

حالة الاستخدام الكلاسيكية هي تضمين مستند JSON كقيمة سلسلة داخل مستند JSON آخر — نمط شائع في حمولات API التي تنقل كتل إعدادات خام أو أجسام webhook أو استجابات مُسلسَلة.

فك التهريب هو العكس: أخذ سلسلة JSON مُهرَّبة (بتسلسلات شرطة مائلة عكسية) وإعادتها إلى شكلها الأصلي المقروء. يُفيد عند استلام استجابة API يحتوي فيها حقل على حمولة JSON مُحوَّلة إلى سلسلة تريد فحصها.

تسلسلات التهريب المُعالَجة

تتعامل الأداة مع جميع الأحرف التي تشترط مواصفة JSON تهريبها داخل قيم السلاسل: علامة الاقتباس المزدوجة (→ \\")، والشرطة المائلة العكسية (→ \\\\\\\\)، وأحرف التحكم — الرجوع للخلف (\\b) وتغذية الصفحة (\\f) وسطر جديد (\\n) والإرجاع (\\r) والجدولة الأفقية (\\t)، وأي حرف تحكم آخر بنقطة كود أقل من U+0020.

تُمثَّل أحرف Unicode خارج المستوى متعدد اللغات الأساسي (نقاط كود أعلى من U+FFFF) كأزواج بديلة في JSON. تتعامل الأداة مع هذه الأزواج البديلة بشكل صحيح لأحرف الإيموجي والنصوص التكميلية.

الشرطة المائلة الأمامية (/) اختيارية تقنياً في التهريب ضمن JSON. بعض المُسلسِلات تُهرّبها (بشكل خاص json_encode لـ PHP افتراضياً)، والبعض الآخر لا. أداتنا تُهرّبها افتراضياً لأقصى توافق.

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

تضمين JSON في HTML: عند إخراج متغير JSON في صفحة HTML، يجب تهريب JSON لأن أحرف </script> وعلامات الاقتباس المفردة والأقواس الزاوية لا تتداخل مع مُحلِّل HTML. تهريب JSON قبل تضمينه في HTML خطوة ذات صلة بالأمان — JSON غير مُهرَّب في HTML قد يُفضي إلى ثغرات XSS.

متغيرات البيئة: تخزين كائن إعدادات JSON في متغير بيئة غالباً ما يتطلب أن يكون JSON سلسلة مُهرَّبة في سطر واحد، لأن معظم مُحلِّلي متغيرات البيئة لا يدعمون القيم متعددة الأسطر.

أعمدة السلاسل في قواعد البيانات: تخزين JSON في عمود TEXT أو VARCHAR عادي أحياناً يتطلب التهريب لمنع علامات الاقتباس المزدوجة الخاصة بـ JSON من التعارض مع محدد السلاسل في SQL.

FAQ

ما الفرق بين تهريب JSON وتحويله إلى سلسلة؟

JSON.stringify() في JavaScript يُسلسِل قيمة JavaScript إلى نص JSON. التهريب يأخذ سلسلة JSON مُسلسَلة مسبقاً ويُهرّب أحرفها الخاصة لتتمكن من تضمينها كقيمة سلسلة داخل مستند JSON آخر.

هل تُهرّب الأداة علامات الاقتباس الخارجية لسلسلة JSON؟

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

ماذا أفعل إن أنتج فك التهريب JSON غير صحيح؟

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

هل يُعالج Unicode بشكل صحيح بما في ذلك الإيموجي؟

نعم. الأحرف خارج المستوى متعدد اللغات الأساسي تُعالج كأزواج بديلة UTF-16 وفق مواصفة JSON.

هل تُرسل بياناتي إلى خادم؟

لا. كل المعالجة تعمل بالكامل في متصفحك. لا شيء تلصقه يُنقل أو يُخزَّن.

أدوات ذات صلة