الشبكة/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

Common uses

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" تبقى سلاسل نصية حتى يتعرّف عليها كود الخادم أو العميل صراحةً ويحوّلها إلى قيمة بولية أو رقم.

مقالات: الشبكة/HTTP