Usando JSON com o PHP
Comecei a querer saber mais sobre JSON, quando comecei a analisar a comunicação que o Meebo.com fazia enquanto eu conversava com outras pessoas no MSN e GTalk usando ele. Vi que havia um certo padrão na comunicação, algo como o projeto JSON-RPC define:
Note a facilidade de comunicação, criada pelo padrão, entre client e server. JSON, notação do objeto JavaScript, pode ser usado para o intercâmbio de dados leves entre o javascript e outras linguagens.
Desde que o JSON possa ser diretamente executado em JavaScript, é um formato ideal para usar com interfaces Web 2.0; é uma alternativa mais simples do que usar XML para relações com AJAX. Fácil para humanos entenderem e ótimo para máquinas interpretarem.
Abaixo um exemplo de uso do Servico_JSON no php:
O resultado na proxima pagina.
--> {“method”: “postMessage”, “params”: [“Hello all!”], “id”: 99}
<-- {“result”: 1, “error”: null, “id”: 99}
<–- {“method”: “handleMessage”, “params”: [“user1″, “we were just talking”], “id”: null}
<–- {“method”: “handleMessage”, “params”: [“user3″, “sorry, gotta go now, ttyl”], “id”: null}
–-> {“method”: “postMessage”, “params”: [“I have a question:”], “id”: 101}
<-— {“method”: “userLeft”, “params”: [“user3″], “id”: null}
<–- {“result”: 1, “error”: null, “id”: 101}
Note a facilidade de comunicação, criada pelo padrão, entre client e server. JSON, notação do objeto JavaScript, pode ser usado para o intercâmbio de dados leves entre o javascript e outras linguagens.
Desde que o JSON possa ser diretamente executado em JavaScript, é um formato ideal para usar com interfaces Web 2.0; é uma alternativa mais simples do que usar XML para relações com AJAX. Fácil para humanos entenderem e ótimo para máquinas interpretarem.
Abaixo um exemplo de uso do Servico_JSON no php:
<?php
// O cerebro
include(‘JSON.php’);
// Um classe qualquer, apenas para entender-mos o funcionamento
class Chamado
{
// Propriedades
public $id;
public $atendente_id;
public $tramites;
public $assunto_principal;
// Construtor
public function __construct()
{
$this->id = 9999;
$this->atendente_id = 9999;
$this->tramites = array(1, 5, 10);
$this->assunto_principal = ‘Oi eu sou um chamado teste’;
}
// Metodo qualquer
public function ver()
{
echo ‘[’ . $this->id . ‘]’ . $this->atendente_id . ‘ - ‘ . $this->assunto_principal;
}
}
$chamado = new Chamado();
$json = new Services_JSON();
// Vai mostrar o codigo em JSON
echo $chamado = $json->encode($chamado).“\n“;
// Vai recuperar os dados
$chamado2 = $json->decode($chamado);
// Note que o objeto e o padrao
print_r($chamado2);
// Tentativa de se chamar um metodo recuperado
$chamado2->ver();
?>
O resultado na proxima pagina.
Lembrando que a partir do PHP 5.2 o JSON já vem nativo (http://br.php.net/manual/pt_BR/ref.json.php).
Apenas para completar seu exemplo, vou postar aqui como tratar o objeto no Javascript, já que vc falou do eval.
var JSONObject = eval('(' + respostaJSON + ')');
alert( JSONObject.assunto_principal ); // Saída: Oi eu sou um chamado teste