الشبكة/HTTP
Query String ↔ JSON
تحليل query string الخاص بـ URL إلى كائن JSON، أو تجميع JSON مرة أخرى إلى query string.
A URL's query string (the part after ?) is a flat set of key-value pairs, while JSON supports nested structures and data types. This tool converts between the two, including repeated keys and arrays.
How to use it
- Query → JSON: paste a query string (with or without the leading ?) to get a JSON object with decoded parameter values.
- JSON → Query: paste a JSON object to build a query string from it with correctly URL-encoded values.
- Repeated keys (a=1&a=2) are automatically recognized as an array in the JSON output.
Common uses
- Building query parameters from a JSON configuration object for an API request.
- Reading a complex query string with dozens of parameters in a structured, readable form.
- Debugging why a parameter isn't reaching the backend — checking its encoding and structure after conversion.
Things to keep in mind
Every value in a query string is text — "true", "false", or "42" stay strings in the JSON until code explicitly converts them to the right type.
Nested objects and arrays have no single standard query-string notation — different backend frameworks (PHP, Rails, Express) use slightly different syntax (a[b]=1 vs a.b=1).
مقالة عن هذه الأداة: Query String مقابل JSON: لماذا معاملات GET محدودة جدًا
الأسئلة الشائعة
كيف تتعامل هذه الأداة مع أسماء المعاملات المكررة مثل ?tag=a&tag=b؟
تُجمَع المفاتيح المكررة عادةً في مصفوفة (tag: ["a", "b"]) بدلاً من أن تتجاوز إحداها الأخرى، بما يتوافق مع كيفية تحليل معظم أطر العمل الخلفية لسلاسل الاستعلام.
ماذا يحدث للأحرف الخاصة أثناء التحويل؟
تُفكّ ترميز الأحرف المرمّزة بالنسبة المئوية (مثل %20 للمسافة) إلى شكلها الحرفي عند التحويل إلى JSON، وتُعاد ترميزها عند تحويل JSON مرة أخرى إلى سلسلة استعلام.
هل يُرسَل عنوان URL أو بياناتي إلى أي مكان لإجراء هذا التحويل؟
لا. يحدث التحويل بالكامل في متصفحك — لا شيء يُرسَل إلى خادم.
ما أقصى طول آمن لعنوان URL؟
نحو 2000 حرف — الحد الأكثر أمانًا والمتفق عليه بين المتصفحات والخوادم الشائعة. للكميات الأكبر من البيانات، من الأفضل استخدام طلب POST بجسم بدلًا من سلسلة الاستعلام.
كيف تُمرَّر قيمة true/false أو رقم عبر سلسلة الاستعلام؟
تُخزَّن سلسلة الاستعلام دائمًا كنص فقط — قيم مثل "false" أو "42" تبقى سلاسل نصية حتى يتعرّف عليها كود الخادم أو العميل صراحةً ويحوّلها إلى قيمة بولية أو رقم.