PHP + JSON

A partir do PHP 5.2.0 temos uma extensão para JSON que facilita o transporte de dados do PHP para o JavaScript (via AJAX) e vice-versa.

Com o advento do Ajax, JSON se tornou um formato para intercâmbio de dados bem mais eficiente e compacto que XML. E nada como tratá-lo como um objeto também no lado do servidor, assim como fazemos no JavaScript. As duas funções que tratam da conversão objeto-string e string-objeto no PHP são json_encode e json_decode, respectivamente.

Vou lhes mostrar um exemplo de como trabalhar com PHP + JSON. Primeiramente vamos formatar corretamente o código PHP que será chamado via AJAX no Javascript.


$produto = array(
 'id' => 32,
 'nome' => 'Camera Digital Sony W220',
 'fabricante' => 'Sony',
 'valor' => 'R$ 799,00'
);

$produtoJSON = "var produto = " . json_encode($produto);

echo $produtoJSON;
// var produto = {"id": 32, "nome": "Camera Digital Sony W220", "fabricante": "Sony", "valor": "R$ 799,00"}

Agora no javascript vamos dar um alerta com os dados separados:


<script type="text/javascript">

/*
 ... requisição ajax ...
*/

eval(ajax.responseText); // transformo a string do resultado em formato de código válido do javascript

alert(" id = " + produto['id'] + "\n nome = " + unescape(produto['nome']) + "\n fabricante = " + unescape(produto['fabricante']) + "\n valor = " + unescape(produto['valor']));
</script>

Posts relacionados:

  1. O que é Ajax?
  2. Functions PHP úteis – parte 01
  3. (aula 3) AJAX para Iniciantes – Recuperando dados XML com AJAX
  4. PHP: Classe Paginacao + Classe Conexao
  5. (aula 1) AJAX para Iniciantes – Instanciando XMLHttpRequest

About the Author

Lucas Martins é formado em Sistemas para Internet na FIAP, tem 22 anos e mora na capital de São Paulo. Interessado em tecnologias inovadoras, pretende destacar no blog sobre algumas das tecnologias mais utilizadas e procuradas da internet hoje, o AJAX. Também dará algumas dicas importantes no desenvolvimento de sistemas utilizando o PHP 5, como também discutir outras tecnologias que possam mudar, ou melhor, otimizar a web.