محلّل سلاسل الاستعلام

تعمل في المتصفح الويب

حوّل ?a=1&b[]=2 إلى جدول مقروء أو JSON، وعدّل المعاملات، ثم أعد بناء سلسلة استعلام مرمّزة ترميزاً صحيحاً.

الخصوصية: تعمل هذه الأداة بالكامل في متصفحك. لا تغادر بياناتك جهازك أبداً.
جارٍ تحميل الأداة…

كيفية استخدام محلّل سلاسل الاستعلام

  1. الصق سلسلة استعلام أو عنوان URL كاملاً.
  2. افحص جدول المعاملات (الموضع والمفتاح والقيمة ومسار الأقواس والصيغة الخام) وعرض JSON.
  3. اختر نمط المصفوفات والترميز اللذين تتوقعهما واجهة API لديك، ثم انسخ سلسلة الاستعلام المعاد بناؤها.

مزايا محلّل سلاسل الاستعلام

  • يحلّل المعاملات المفصولة بـ ? و& و; مع فك الترميز بالنسبة المئوية وعلامة الزائد
  • تتحوّل المفاتيح المكرّرة إلى مصفوفات؛ ويتحوّل ترميز الأقواس key[] وkey[a][b] إلى مصفوفات وكائنات متداخلة
  • كشف اختياري للأنواع (الأعداد والقيم المنطقية وnull) في عرض JSON
  • يعيد بناء الاستعلام بأربعة أنماط للمصفوفات (التكرار، الأقواس، الفهارس، الفاصلة) وترميزين (RFC 3986 والنماذج)
  • يعرض الترتيب الأصلي بعد إعادة ترميزه إلى جانب إعادة البناء المنظّمة، مع ترتيب اختياري للمفاتيح
  • يقبل عنوان URL كاملاً ويستخرج جزء الاستعلام فقط

مثال على محلّل سلاسل الاستعلام

تحليل مصفوفات الأقواس وإعادة البناء بالمفاتيح المكرّرة

الإدخال:

?tags[]=new&tags[]=sale&filter[price][max]=50&q=caf%C3%A9+latte

النتيجة:

JSON: {"tags":["new","sale"],"filter":{"price":{"max":50}},"q":"café latte"}
Rebuilt (repeat style): tags=new&tags=sale&filter%5Bprice%5D%5Bmax%5D=50&q=caf%C3%A9%20latte

الأسئلة الشائعة حول محلّل سلاسل الاستعلام

كيف تُعالج المفاتيح المكرّرة؟

يتحوّل ids=1&ids=2 إلى مصفوفة ["1","2"] في عرض JSON، ويبقى كلا الإدخالين ظاهرين في الجدول مع موضعيهما. ويستخدم الاستعلام المعاد بناؤه نمط المصفوفات الذي تختاره (التكرار أو الأقواس أو الفهارس أو الفاصلة).

إلامَ يتحوّل filter[price][max]=50؟

إلى كائنات متداخلة: {"filter":{"price":{"max":"50"}}}. وتتحوّل المفاتيح المنتهية بـ [] إلى مصفوفات، تماماً كما تفسّرها PHP وRails ومكتبة qs.

ما الفرق بين %20 و+ للمسافات؟

يرمّز RFC 3986 المسافة بالنسبة المئوية على شكل %20. أما ترميز نماذج HTML (application/x-www-form-urlencoded) فيستخدم +. يُفكّ ترميز كليهما إلى مسافة عند التحليل؛ واختر عند إعادة البناء الترميز الذي تتوقعه واجهة API لديك.

هل يمكنني لصق عنوان URL كامل؟

نعم. عندما يبدو الإدخال عنوان URL، يُحلَّل الجزء الذي يلي ? فقط ويُتجاهل الجزء (#…).

ملاحظات تقنية

يستخدم فك الترميز دالة decodeURIComponent بعد تحويل + إلى مسافات، مع الرجوع إلى النص الخام عند مصادفة تسلسلات غير صالحة بدلاً من إطلاق خطأ. وتُحلَّل مسارات الأقواس بقواعد نحوية بسيطة (اسم متبوع بـ [segment]*) مطابقة لـ PHP ومكتبة qs؛ وتتحوّل المقاطع الرقمية إلى فهارس مصفوفات.