0Pricing
PHP Academy · Aula

Codificação e decodificação JSON

Converta arrays PHP em JSON e analise respostas JSON com json_encode/json_decode.

Codificação e decodificação JSON é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

O que é JSON

JSON (Notação de Objetos JavaScript) é um formato de dados leve usado na comunicação com APIs e em arquivos de configuração. PHP tem funções integradas para codificá-lo e decodificá-lo.

json_encode()

Converte um valor PHP (matriz, objeto ou escalar) em uma cadeia JSON.

<?php
$data   = ["name" => "Alice", "age" => 30, "active" => true];
$json   = json_encode($data);
echo $json; // {"name":"Alice","age":30,"active":true}

json_decode()

Analisa uma cadeia JSON e retorna um valor PHP. Por padrão, retorna objetos stdClass; passe true como segundo argumento para obter matrizes associativas.

<?php
$json = '{"name":"Alice","age":30}';
$obj  = json_decode($json);          // stdClass
$arr  = json_decode($json, true);    // associative array
echo $arr["name"]; // "Alice"

Formatação legível de JSON

Utilize a opção JSON_PRETTY_PRINT para formatar a saída e facilitar a leitura por pessoas.

<?php
$json = json_encode(["a" => 1, "b" => 2], JSON_PRETTY_PRINT);
echo $json;
// {
//     "a": 1,
//     "b": 2
// }

Opções úteis de json_encode

Opções comuns: JSON_UNESCAPED_UNICODE (mantém UTF-8 como está), JSON_UNESCAPED_SLASHES (não adiciona barra invertida antes de /) e JSON_THROW_ON_ERROR (lança uma exceção em caso de falha).

<?php
$json = json_encode(["url" => "https://example.com/path"],
    JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);

Tratamento de erros

Verifique json_last_error() depois de codificar ou decodificar, ou utilize JSON_THROW_ON_ERROR para obter uma exceção automaticamente.

<?php
try {
    $data = json_decode($input, true, 512, JSON_THROW_ON_ERROR);
} catch (\JsonException $e) {
    echo "Invalid JSON: ".$e->getMessage();
}

Codificação de objetos

Os objetos são codificados como objetos JSON. Por padrão, somente as propriedades públicas são incluídas. Implemente JsonSerializable para controlar a serialização.

<?php
class Point implements \JsonSerializable {
    public function __construct(
        private float $x, private float $y
    ) {}
    public function jsonSerialize(): mixed {
        return ["x" => $this->x, "y" => $this->y];
    }
}
echo json_encode(new Point(1.0, 2.5)); // {"x":1,"y":2.5}

Estruturas aninhadas

JSON permite aninhamento. Matrizes do PHP profundamente aninhadas são codificadas perfeitamente como objetos ou matrizes JSON aninhados.

<?php
$order = [
    "id"    => 1,
    "items" => [
        ["sku" => "A1", "qty" => 2],
        ["sku" => "B3", "qty" => 1],
    ],
];
echo json_encode($order, JSON_PRETTY_PRINT);

Profundidade da decodificação

O terceiro parâmetro de json_decode define a profundidade máxima da recursão (o padrão é 512). JSON muito profundo pode exigir um limite maior.

JSON_NUMERIC_CHECK

A opção JSON_NUMERIC_CHECK converte cadeias de caracteres numéricas em números durante a codificação. Utilize-a com cuidado: ela pode corromper números de telefone.

Processamento de JSON em fluxo

Para arquivos JSON muito grandes, utilize uma biblioteca de análise em fluxo, como halaxa/json-machine, em vez de carregar o arquivo inteiro com json_decode.

Resumo

json_encode converte valores do PHP em cadeias de caracteres JSON. json_decode analisa JSON. Utilize JSON_THROW_ON_ERROR para um tratamento seguro de erros.

Verificação rápida

Como obter uma matriz associativa a partir de json_decode?

Perguntas Frequentes

A aula “Codificação e decodificação JSON” é grátis?

Sim — o texto completo de “Codificação e decodificação JSON” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Codificação e decodificação JSON”?

Converta arrays PHP em JSON e analise respostas JSON com json_encode/json_decode. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Codificação e decodificação JSON”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Codificação e decodificação JSON
  2. Realização de solicitações HTTP com cURL
  3. Tratamento de respostas e erros de APIs
  4. Criação de um cliente de API simples
← Voltar para PHP Academy