Erro Fatal no PHP: Soluções para undefined function json_decode()

Aprenda a solucionar o erro Fatal error: Uncaught Error: Call to undefined function json_decode() no PHP com nosso guia prático.

O que é o erro 'Fatal error: Uncaught Error: Call to undefined function json_decode()'?

O erro 'Fatal error: Uncaught Error: Call to undefined function json_decode()' ocorre quando o PHP tenta chamar a função json_decode(), mas não consegue encontrá-la. Esse erro pode ser frustrante, especialmente se você depende dessa função para manipular dados JSON em suas aplicações.

Causas Comuns do Erro

Existem algumas razões pelas quais esse erro pode aparecer:

  1. Extensão JSON não habilitada: A função json_decode() faz parte da extensão JSON do PHP. Se a extensão não estiver habilitada em sua configuração PHP, você verá esse erro.
  2. Versão do PHP: A função json_decode() foi introduzida no PHP 5.2.0. Se você estiver usando uma versão anterior, precisará atualizar seu PHP para utilizar essa função.
  3. Problemas de instalação: Em algumas instalações do PHP, especialmente em sistemas operacionais Linux, a extensão JSON pode não ser instalada por padrão.

Como resolver o erro

1. Verifique a versão do PHP

Certifique-se de que está usando uma versão do PHP que suporte a função json_decode(). Você pode verificar a versão do PHP executando o seguinte comando no terminal:

php -v

Esse comando mostrará a versão atual do PHP instalada em seu sistema, garantindo que você esteja utilizando uma versão compatível.

2. Habilite a extensão JSON

Se você confirmar que está usando uma versão compatível do PHP, o próximo passo é garantir que a extensão JSON esteja habilitada. Para isso, siga os passos abaixo:

  • Abra o arquivo php.ini (pode variar dependendo do seu sistema operacional).
  • Procure pela linha que contém ;extension=json. Se a linha estiver comentada (iniciada com um ponto e vírgula), remova o ponto e vírgula para habilitar a extensão.
  • Salve as alterações e reinicie o servidor web (Apache, Nginx, etc.).

3. Instale a extensão JSON (se necessário)

Caso a extensão JSON não esteja disponível, você pode precisar instalá-la. Isso pode ser feito com os seguintes comandos, dependendo do seu sistema operacional:

  • Para Ubuntu / Debian:
    sudo apt-get install php-json
  • Para CentOS:
    sudo yum install php-json

    Após a instalação, não esqueça de reiniciar seu servidor web.

Exemplos de uso da função json_decode()

A função json_decode() é utilizada para converter uma string JSON em uma variável PHP. Veja um exemplo:

$jsonString = '{"nome": "João", "idade": 30}';
$dados = json_decode($jsonString);
echo $dados->nome; // Saída: João

Neste exemplo, a string JSON é decodificada e os dados são acessados como propriedades de um objeto PHP. A função é extremamente útil para trabalhar com APIs que retornam dados em formato JSON.

Conclusão

O erro 'Fatal error: Uncaught Error: Call to undefined function json_decode()' pode ser facilmente resolvido ao verificar a versão do PHP, habilitar a extensão JSON ou instalá-la se necessário. Ao seguir as etapas descritas acima, você deve ser capaz de resolver esse problema e continuar desenvolvendo suas aplicações sem interrupções. Para mais informações, consulte a documentação oficial do PHP .

A manipulação de dados JSON é uma parte crucial do desenvolvimento moderno, especialmente ao trabalhar com APIs. O erro 'Fatal error: Uncaught Error: Call to undefined function json_decode()' pode ser um grande obstáculo, mas entender as causas e soluções pode transformar essa experiência em uma oportunidade de aprendizado. As funções JSON no PHP oferecem uma forma poderosa de converter dados, facilitando a integração entre sistemas.

Algumas aplicações:

  • Integração com APIs RESTful
  • Manipulação de dados em aplicações web
  • Armazenamento e recuperação de dados em formato JSON

Dicas para quem está começando

  • Sempre verifique se a extensão JSON está habilitada no seu PHP.
  • Utilize a função json_last_error() para diagnosticar problemas com a decodificação de JSON.
  • Fique atento ao formato do JSON; ele deve ser bem formatado para ser decodificado corretamente.

Contribuições de Gustavo Ferraz

Compartilhe este tutorial: O que fazer quando 'PHP Fatal error: Uncaught Error: Call to undefined function json_decode()' aparece?

Compartilhe este tutorial

Continue aprendendo:

Como corrigir 'PHP Fatal error: Cannot redeclare function' mesmo usando include_once?

Aprenda a corrigir o erro de declaração duplicada de funções em PHP, um problema comum enfrentado por desenvolvedores.

Tutorial anterior

Como resolver 'PHP Fatal error: Call to undefined function mysqli_connect()' ao conectar ao banco de dados?

Aprenda a resolver o erro 'Call to undefined function mysqli_connect()' em PHP ao tentar conectar ao banco de dados.

Próximo tutorial