Nome:
Local: Rio de Janeiro, RJ, Brazil

Que perguntinha hein?! Mas vamos lá, adoro estudar assuntos relacionados à web, sempre que posso aprendo uma tecnologia, técnica ou linguagem nova. Tento sempre ver quais são as tendências e acompanha-las, enfim eu sou um eterno aprendiz. Deixando o lado profissional, entrando no lado pessoal, sou uma pessoa super gente-boa (pelo menos eu me acho. rs), adoro curtir a night, sair com os amigos, fazer novas amizades e viajar (tem coisa melhor do que isso?) Acho que você já está sabendo demais sobre mim. Fuiii...

sexta-feira, 8 de junho de 2007

JSON e AJAX uma dupla do barulho II

Esse post, vai ser só pra ilustrar uma das várias formas de montar a
estrutura de JSON, no lado do server-side, como exemplo vou usar php.
Existe frameworks para isso, então fica a seu critério se vai usar um framework ou desenvolver um code para isso (o que é bem simples e acredito que não há necessidade de um framework). Pois bem, como disse
anteriormente, JSON, até o uso eval, é apenas uma string, logo é só
montar uma string com os padrões. Relembrando o padrão:

var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};


Então agora é só montar a estrutura, no meu caso não vou me guiar pelo nome
da propriedade e sim pelo número da coluna, logo o nome das minhas
propriedades são, coluna1, coluna2, coluna3..., . Vamos lá.

$tot ='';
foreach ($arr_sql as $row){
$linha = '';
$i=0;
foreach($row as $col) {
if (! empty($linha)) {
$linha .= ", ";
}
$linha .= "\"coluna$i\":\"$col\"";
$i ++;
}
if (! empty($tot)) {
$tot .= ", ";
}
$tot .= "{ $linha }";
}
$tot .= "{\"meuRet\": [$tot] }";
echo $tot;
}


Utilizei o foreach, pois a minha resposta do bd, retorna um array. Código feito, Viu como é simples, agora faça da maneira que lhe der na telha :).

Agora a forma que vc vai usar o retorno é simples. Provavelmentes esse JSON retornou algumas linhas, então, especifique a linha e a propriedade que deseja exibir.

var MyObjJson = eval ('('+http.responseText+')'); //Vai pegar o valor de retorno e transforma-lo em um objeto
alert (MyObjJson.meuRet[0].coluna0); // Mostra o valor da propriedade da coluna0, da linha 0 do objeto meuRet


Se você teve a paciência de ler até aqui, lanço-lhe um desafio, existem duas maneiras de montar uma estrutura JSON, aqui fiz uma que é propriedade, valor, quero saber se você consegue fazer da outra forma, OK?! O desafio está lançado.

Referência:
JSON.org

fuiii...

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]

<< Página inicial