<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Debugando.com &#187; JSon</title>
	<atom:link href="http://www.debugando.com/tag/json/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.debugando.com</link>
	<description>Noticias, dicas e tutorias do mundo da Tecnologia.</description>
	<lastBuildDate>Thu, 01 Dec 2011 23:44:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Trabalhando com JSON</title>
		<link>http://www.debugando.com/trabalhando-com-json/</link>
		<comments>http://www.debugando.com/trabalhando-com-json/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 17:33:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[JavaScript/Ajax]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JSon]]></category>

		<guid isPermaLink="false">http://www.debugando.com/?p=195</guid>
		<description><![CDATA[


A JSON nada mais é do que uma maneira de representar os objetos em JavaScript,ou seja, JSON é JavaScript puro. Para trabalhar com esse formato não é necessário usar DOM ou qualquer Framwork ou Kit específico, embora muitos dos frameworks de hoje em dia dêem algum tipo de suporte à JSON.
JSON se assemelha muito com [...]]]></description>
			<content:encoded><![CDATA[<p><strong>A JSON</strong> nada mais é do que uma maneira de representar os objetos em <em>JavaScript</em>,ou seja, JSON é <em>JavaScript</em> puro. Para trabalhar com esse formato não é necessário usar DOM ou qualquer Framwork ou Kit específico, embora muitos dos frameworks de hoje em dia dêem algum tipo de suporte à <strong>JSON</strong>.</p>
<p>JSON se assemelha muito com as matrizes do <em>JavaScript</em>, mas pode armazenar os mesmos dados que os documentos XML.<br />
Veja um breve exemplo:</p>
<p>dados retornados,<br />
<em><code>{"notas" : [<br />
{"nome":"João", "nota1":8, "nota2":6, "nota3":10 },<br />
{"nome":"Maria", "nota1":5, "nota2":9, "nota3":8 },<br />
{"nome":"Pedro", "nota1":2, "nota2":7, "nota3":5 }<br />
]};</code></em><br />
código da página,</p>
<p><code><br />
<em>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;script language="javascript"&gt;<br />
var request = null;<br />
try {<br />
request = new XMLHttpRequest();<br />
} catch (trymicrosoft) {<br />
try {<br />
request = new ActiveXObject("Msxml2.XMLHTTP");<br />
} catch (othermicrosoft) {<br />
try {<br />
request = new ActiveXObject("Microsoft.XMLHTTP");<br />
} catch (failed) {<br />
request = null;<br />
}<br />
}<br />
}</p>
<p>if (request == null)<br />
alert("Não foi possível criar o objeto !");</p>
<p>function obterDados() {<br />
var url = "alunos.php";<br />
url = url + "?cache=" + new Date().getTime();//para evitar problemas com o cache do navegador<br />
request.open("GET", url, true);<br />
request.onreadystatechange = exibe;//chame a função sem os parênteses<br />
request.send(null);<br />
}</p>
<p>function exibe(){<br />
if (request.readyState == 4) {//verifica o estado de prontidão</p>
<p>if (request.status == 200) {//verifica o status da requisição</p>
<p>//recupera os dados e os converte em um objeto<br />
var jsonData = eval('(' + request.responseText + ')');<br />
//o navegador trata a JSON com texto, portanto utilize o responseText<br />
//trabalhando com os dados<br />
var aluno1 = jsonData.notas[0].nome;//recupera o nome do primeiro aluno<br />
var aluno2 = jsonData.notas[1].nome;//recupera o nome do segundo aluno<br />
var aluno3 = jsonData.notas[2].nome;//recupera o nome do terceiro aluno<br />
//exibe as notas<br />
alert("Aluno : " + aluno1+"nNota1 : "+jsonData.notas[0].nota1+"nNota2 : "+jsonData.notas[0].nota2+"nNota3 : "+jsonData.notas[0].nota3);<br />
alert("Aluno : " + aluno2+"nNota1 : "+jsonData.notas[1].nota1+"nNota2 : "+jsonData.notas[1].nota2+"nNota3 : "+jsonData.notas[1].nota3);<br />
alert("Aluno : " + aluno3+"nNota1 : "+jsonData.notas[2].nota1+"nNota2 : "+jsonData.notas[2].nota2+"nNota3 : "+jsonData.notas[2].nota3);<br />
}<br />
}<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;script language="javascript"&gt;<br />
obterDados();//chama a função<br />
&lt;/script&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</em><br />
</code></p>
<p>O interessante da JSON é que ela é apenas javascript, portanto, o seu código JavaScript poderá utiliza-lá facilmente.</p>
<p>A má notícia é que JSON é JavaScript, linguagens como PHP, PERL e Asp não consiguirão entendê-la. Provalvelmente você precisará de alguma biblioteca para exibir a JSON em seus scripts de servidor.</p>
<p>Para fazer o download das bibliotecas mais comuns de JSON, acesse:<a href="http://www.json.org/" target="_blank">www.json.org</a></p>
<p>Veremos agora um exemplo de como gerar uma JSON resposta no PHP<br />
<code></p>
<p><em>&lt;?php header("Content-Type: text/html; charset=ISO-8859-1",true); ?&gt;</p>
<p>&lt;?php<br />
require("JSON.php");  //importando a biblioteca</p>
<p>$json = new Services_JSON();//criando o objeto para manipular a JSON</p>
<p>$aluno1 = array('nome'=&gt; 'Ana',<br />
'nota1'=&gt; "8",<br />
'nota2'=&gt; "6" ,<br />
'nota3'=&gt; "2");<br />
$aluno2 = array('nome'=&gt; 'Maria',<br />
'nota1'=&gt; "5",<br />
'nota2'=&gt; "9" ,<br />
'nota3'=&gt; "8");<br />
$aluno3 = array('nome'=&gt; 'Pedro',<br />
'nota1'=&gt; "2",<br />
'nota2'=&gt; "7" ,<br />
'nota3'=&gt; "5");<br />
$notas = array('notas' =&gt; array($aluno1, $aluno2, $aluno3));</p>
<p>$output = $json-&gt;encode($notas);<br />
echo($output);<br />
?&gt;</em><br />
</code><br />
Como podemos observar, primeiro temos de criar um vetor para cada aluno, em seguida deve-se criar um outro vetor para armazenar os vetores de alunos, formando uma matriz.<br />
Já foi dito anteriormente que matrizes são os objetos que mais se assemelham à JSON, por isso a grande maioria de classes para a JSON, pedirá como parâmetro de entrada uma matriz;<br />
Este foi apenas um exemplo simples simples para a utilização da JSON.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.debugando.com/trabalhando-com-json/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

