«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему `json_decode` возвращает NULL, хотя данные JSON выглядят действительными?

Почему `json_decode` возвращает NULL, хотя данные JSON выглядят действительными?

Опубликовано в 2025-04-13
Просматривать:297

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

понимание проблемы декодирования JSON в вызовах веб -службы

В взаимодействиях веб -службы, иногда функция json_decode возвращает NULL. Проблемная проблема возникает, когда веб -служба предоставляет данные JSON, которые напоминают:

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

. Однако попытка расшифровать JSON в приложении возвращает null:

$data = json_decode($foo, true);
var_dump($data):
NULL

Решение проблемы

одна потенциальная причина для этой проблемы - функциональность PHP's Magic Quotes. Волшебные цитаты автоматически избегают специальных символов в данных формы, потенциально вмешиваясь в диапазон JSON. Чтобы разрешить это:

]
if (get_magic_quotes_gpc()) {
  $param = stripslashes($_POST['param']);
} else {
  $param = $_POST['param'];
}
$param = json_decode($param, true);

, отключив магические цитаты или срезанные черты из данных JSON, приложение может точно декодировать JSON и получить желаемую информацию.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3