یک اسکریپت PHP بنویسید که یک رشتهٔ query (URL-encoded) را از ورودی دریافت کند، با parse_str آن را به آرایه تبدیل کند و سپس آرایه را به JSON تبدیل کرده و با هدر مناسب خروجی دهد.
1.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:44 0.0
برای حل این مسئله میتوانید رشتهٔ ورودی را از php://input یا از $_SERVER['QUERY_STRING']/$_POST بگیرید، سپس با parse_str($input, $data) آن را به آرایه تبدیل کنید و با json_encode($data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT) به JSON تبدیل کنید؛ خروجی را با header('Content-Type: application/json; charset=utf-8') ارسال کنید. نکات مفید: از json_last_error() برای بررسی خطاهای سریالسازی استفاده کنید، مراقب کلیدهای تودرتو یا آرایهای باشید زیرا parse_str نگارشهایی مانند name[]=a&name[]=b را به آرایه تبدیل میکند، و برای استفاده در API یا پردازش دادهها خروجی JSON را معتبر و با فرمت خوانا برگردانید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
اگر ورودی از طریق GET است، از $_SERVER['QUERY_STRING'] استفاده کنید. اگر ورودی از بدنه درخواست است و نوع آن application/x-www-form-urlencoded است، میتوانید فایل php://input را بخوانید و با parse_str($input, $data) نتیجه را به آرایه تبدیل کنید. توجه کنید نامهای تودرتو مثل name[]=a&name[]=b به آرایه تبدیل میشوند. برای خروجی JSON، از json_encode با پرچمهای JSON_UNESCAPED_UNICODE و JSON_PRETTY_PRINT استفاده کنید و با json_last_error() خطاهای فرایند سریالسازی را چک کنید، در نهایت header('Content-Type: application/json; charset=utf-8') را ارسال کنید.
گزارش