"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que `json_decode` retorna nulo, embora os dados JSON pareçam válidos?

Por que `json_decode` retorna nulo, embora os dados JSON pareçam válidos?

Postado em 2025-04-13
Navegar:988

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

Compreendendo o problema de decodificação do json no serviço da web Calls

nas interações de serviço da web, ocasionalmente, a função json_decode retorna null. Uma questão confusa surge quando um serviço da web fornece dados JSON que se assemelha:

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

No entanto, tentando decodificar o json no aplicativo Retorna Null:

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

Resolvendo o problema

Uma causa potencial para este problema é a funcionalidade de cotações mágicas do PHP. O Magic Quotes escapa automaticamente de caracteres especiais em dados de formulário, potencialmente interferindo na análise JSON. Para resolver isso:

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

desativando citações mágicas ou retirando barras dos dados json, o aplicativo pode decodificar com precisão o json e recuperar as informações desejadas.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3