"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يعود `JSON_DECODE` NULL ، على الرغم من أن بيانات JSON تبدو صالحة؟

لماذا يعود `JSON_DECODE` NULL ، على الرغم من أن بيانات JSON تبدو صالحة؟

نشر في 2025-04-13
تصفح:186

Why Does `json_decode` Return NULL Despite Valid-Looking JSON Data?

فهم مشكلة فك تشفير JSON في مكالمات خدمة الويب

في تفاعلات خدمة الويب ، أحيانًا ، تُرجع وظيفة JSON_DECODE الخالية. تنشأ مشكلة مربكة عندما توفر خدمة الويب بيانات JSON تشبه:

var_dump($foo):
string(62) "{"action":"set","user":"123123123123","status":"OK"}"

ومع ذلك ، فإن محاولة فك تشفير JSON في التطبيق لاغية: var_dump (بيانات $): NULL

$data = json_decode($foo, true);
var_dump($data):
NULL
حل المشكلة

أحد الأسباب المحتملة لهذه المشكلة هو وظيفة أسعار السحر من PHP. Magic Quotes يفلت تلقائيًا من الأحرف الخاصة في بيانات النماذج ، وربما يتداخل مع تحليل JSON. لحل هذا:

if (get_magic_quotes_gpc ()) { $ param = stripslashes ($ _ post ['param']) ؛ } آخر { $ param = $ _post ['param'] ؛ } $ param = json_decode ($ param ، true) ؛

 عن طريق تعطيل اقتباسات السحرية أو تجريدها من بيانات JSON ، يمكن للتطبيق فك تشفير JSON بدقة واسترداد المعلومات المطلوبة.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3