'legolas@teste.com' ); // Exibindo no browser o JSON criadoecho json_encode( $aluno ); /* Saida:{"nome":"Legolas Kun","email":"legolas@teste.com"}*/?>Exemplo 2: Gerando um JSON com Objects<?php// Array com os valores$aluno = array( 'nome' => 'Legolas Kun', 'email' => 'legolas@teste.com', 'cursos' => array( array( 'nome' => 'Analise de Sistemas', 'periodos' => 5 ), array( 'nome' => 'Engenharia', 'periodos' => 10 ) )); // Exibindo no browser o JSON criadoecho json_encode( $aluno ); /* Saida:{ "nome":"Legolas Kun", "email":"legolas@teste.com" "cursos":[ { "nome":"Analise de Sistemas", "periodos":5 }, { "nome":"Engenharia", "periodos":10 } ]}*/?>Esse ultimo exemplo demonstra a criacao de um Object JSON com um atributo recebendo um Array de Objects JSON veja a definicao da estrutura do Array que foi criado. O indice "cursos" recebe um Array multidimensional. Desta forma sera criado um atributo no JSON com um Array de Objetos.Agora que vimos como criar um Object JSON no PHP iremos ver como decodificar um JSON no PHP. Esse recurso e muito utilizado (pelo menos por mim) para receber um Object JSON via Ajax e criar um Array com os dados do JSON enviado. Vamos para a funcao do PHP.Sintaxe da funcao json_decode():json_decode(string $json [, boolean $assoc])Recebe uma string com o Object JSON e retora um Object do PHP ou um Array dos dados dependendo do segundo parametro da funcao.Parametros:$json (string): String com o JSON a ser decodificado$assoc (boolean): Quando informado o valor true o retorno sera um Array Associativo, caso contrario um Object do PHP. Por default este valor e false.$retorno (mixed): Ira retornar um Object ou Array dependendo do segundo parametro da funcao.Exemplo 3: Decodificando um JSON simples<?php// JSON a ser decodificado$json = '{"nome":"Legolas Kun","email":"legolas@teste.com"}';var_dump( json_decode( $json ) );/* Saida:object(stdClass)[1] public 'nome' => string 'Legolas Kun' (length=11) public 'email' => string 'legolas@teste.com' (length=17)*/?>Exemplo 4: Decodificando um JSON simples para Array<?php// JSON a ser decodificado$json = '{"nome":"Legolas Kun","email":"legolas@teste.com"}';var_dump( json_decode( $json, true ) );/* Saida:array 'nome' => string 'Legolas Kun' (length=11) 'email' => string 'legolas@teste.com' (length=17)*/?>Veja esses dois exemplos o Exemplo 3 retorna um Object com os dados do JSON ja o Exemplo 4 retorna um Array com os dados do JSON. Abaixo esta um exemplo de decodificacao de um JSON com Objects.Exemplo 5: Decodificando um JSON com Objects<?php// JSON a ser decodificado$json = '{ "nome": "Legolas Kun", "email": "legolas@teste.com", "cursos": [ { "nome": "Analise de Sistemas", "periodos": 5 }, { "nome": "Engenharia", "periodos": 10 } ]}';var_dump( json_decode( $json ) );/*Saida:object(stdClass)[1] public 'nome' => string 'Legolas Kun' (length=11) public 'email' => string 'legolas@teste.com' (length=17) public 'cursos' => array 0 => object(stdClass)[2] public 'nome' => string 'Analise de Sistemas' (length=19) public 'periodos' => int 5 1 => object(stdClass)[3] public 'nome' => string 'Engenharia' (length=10) public 'periodos' => int 10*/?>Veja neste exemplo que cada atributo do JSON se tornou um atributo do Object (Class) do PHP e o atributo "cursos" e um Array com Objects. Veja os exemplos abaixo de como utilizar o retorno do JSON decodificado.Exemplo 6: Manipulando os dados decodificados<?php// JSON a ser decodificado$json = '{ "nome": "Legolas Kun", "email": "legolas@teste.com", "cursos": [ { "nome": "Analise de Sistemas", "periodos": 5 }, { "nome": "Engenharia", "periodos": 10 } ]}';// Criando o Array com