Home » JavaScript » Php » Trabalhando com JSON e PHP

Trabalhando com JSON e PHP

Compartilhe

Resolvi escrever este artigo após uma dúvida de um membro da comunidade PhonegapBr.
O objetivo é simples, enviar uma informação e retornar algo em JSON, não entrarei em muitos detalhes, como disse o objetivo é fazer algo simples uma consulta e um retorno.

O que é JSON?

Uma rápida consulta no Google para o termo “jeison” temos o seguinte retorno…

JSON é um acrônimo para “JavaScript Object Notation”, é um formato leve para intercâmbio de dados computacionais. JSON é um subconjunto da notação de objeto de JavaScript, mas seu uso não requer JavaScript exclusivamente.

Para fazer a requisição para o servidor irei utilizar o AJAX, outra rápida busca no Google iremos ter a seguinte resposta…

AJAX significa Asynchronous JavaScript e XML. Em poucas palavras, é o uso do objeto XMLHttpRequest para se comunicar com os scripts do lado do servidor. Ele pode enviar bem como receber informações em uma variedade de formatos, incluindo JSON, XML, HTML, e até mesmo arquivos de texto

E no lado do nosso servidor estarei usando o PHP, lembrando de colocar o Framework jQuery.

Sabendo as informações acima iremos começar este artigo pelo lado do servidor que será o PHP. Fiz este script abaixo apenas para usar como exemplo, em cada linha do código já possui a sua explicação e acredito eu que não será nada bicho de 7 cabeças.

//Acessar de qualquer local
header("Access-Control-Allow-Origin: *");
 
$arr = array(); //crio um array base
 
//verifico se a informação que estou requisitando existe
$acao = isset($_POST['acao']) && !empty($_POST['acao']) ? $_POST['acao'] : 'false' ;
 
switch ($acao) {
 
	case 'ConsultarVarios':
 
		//adiciono no meu array base algumas outras informações 
		$arr['marcas'] = array("BMW","Ferrari");
		$arr['msg'] = '';
 
	break;
 
	case 'false':
		$arr['msg'] = 'Acesso Negado';
	break;
}
 
//print_r($arr);
//converto o meu array em JSON para receber na minha requisição AJAX
echo json_encode($arr);

Para saber mais sobre a função json_encode do PHP, clique aqui.

Após isto temos a requisição feita pelo usuário, nesta requisição poderá notar que estou enviando uma informação para o servidor no formato POST e ele está me retornando um conteúdo em JSON.
Para saber mais sobre o AJAX clique aqui

$.ajax({
    type: "POST",
    url: "https://www.phpiando.com.br/api/Consulta.php",
    data: {
        acao: "ConsultarVarios"
    },
    dataType: "json",
    success: function (json) {
 
        if (json.msg === '') {
            for (var i = 0; i < json.marcas.length; i++) {
                alert(json.marcas[i]);
            }
        } else {
            alert(json.msg);
        }
 
    },
    error: function (x, e, t) {
        alert(JSON.stringify(x));
    }
});

Através desse exemplo acredito que ficará mais fácil o entendimento de como fazer uma requisição e trabalhar o seu retorno.

Qualquer dúvida só postar nos comentários.

Até a próxima.