یک تابع PHP بنویسید که یک آرایه ورودی را به JSON سریالسازی کند، در صورت بروز خطا از json_last_error و json_last_error_msg برای تشخیص خطا استفاده کرده و پاسخ HTTP مناسب با هدر Content-Type: application/json و کد وضعیت 200 یا 400 برگرداند
18.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:34 0.0
برای حل این مسئله از json_encode برای تبدیل آرایه به رشته JSON استفاده کنید و بلافاصله پس از آن با json_last_error() و json_last_error_msg() بررسی کنید که تبدیل با موفقیت انجام شده باشد؛ در صورت خطا یک پاسخ JSON حاوی پیام خطا ارسال کنید و http_response_code(400) را تنظیم کنید، در غیر این صورت خروجی JSON را با header('Content-Type: application/json') و http_response_code(200) برگردانید. نکات مفید: از گزینههایی مانند JSON_UNESCAPED_UNICODE برای نگهداری یونیکد فارسی استفاده کنید، دادههای ورودی را از نظر نوع بررسی کنید و خروجی API را به صورت یک ساختار ثابت مانند { "success": true/false, "data": ..., "error": "..." } بازگردانید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
قبل از json_encode ورودی را از نظر نوع بررسی کنید و در صورت غیرآرایه بودن یا دادهٔ ناخواسته، پیغام خطای مناسبی بازگردانید. پس از json_encode بلافاصله با json_last_error() و json_last_error_msg() بررسی کنید و از گزینهٔ JSON_UNESCAPED_UNICODE برای حفظ یونیکد فارسی استفاده کنید. هنگام بروز خطا از http_response_code(400) و ساختار ثابت مانند {"success":false,"data":null,"error":"..."} استفاده کنید و در حالت موفق http_response_code(200) و {"success":true,"data":..., "error":null} بازگردانید. همچنین مطمئن شوید هیچ خروجیای قبل از header و http_response_code ارسال نشود تا از خطای "Headers already sent" جلوگیری شود.
گزارش