Utilizando JSON no ASP

Olá pessoal

Nesse post irei mostrar como trabalhar com JSON no ASP na prática
O objetivo de início desse post era escrever JSON + ASP + JQuery, mas quando comecei a escrever esse post percebi que estava ficando enorme, então resolvi cortar em 2 partes.
Essa é a 1ª parte, onde irei mostrar como trabalhar com JSON + ASP na prática.

Para saber mais sobre a teoria, sugiro utilizar esses 3 sites abaixo que explicam bem:

http://www.learn-ajax-tutorial.com/Json.cfm
http://www.json.org/
http://pt.wikipedia.org/wiki/JSON

Pesquisando no google também se encontra bastante conteúdo.

JSON é uma notação de objetos muito utilizada em Javascript, mas também podendo ser utilizada em outra linguagens, nesse caso ASP

A baixo tem um código simples que representa uma notação JSON:

{"endereco":"Rua Teste","bairro":"Bairro Teste","cidade":"Cidade Teste","estado":"Estado Teste"}

Nesse exemplo temos um objeto JSON com 4 definições:

* “endereco” com o valor “Rua Teste”;
* “bairro” com o valor “Bairro Teste”;
* “cidade” com o valor “Cidade Teste”;
* “estado” com valor “Estado Teste”.

No ASP o JSON recomenda 3 formas de trabalhar, sendo as seguintes:

JSON2.ASP
ASPJSON
Generate JSON from VBScript (ASP) datatypes

A que mostrarei nesse exemplo é:

ASPJSON: mais fácil de montar a notação JSON
JSON2.ASP: mais fácil de pegar a notação JSON e utilizar como Objeto ASP

O exemplo abaixo mostrar como gerar um JSON em ASP utilizando o ASPJSON

<!--#include file="JSON_2.0.2.asp"-->
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Exemplo 1 - ASP gera JSON</title>
    </head>

    <body>		
		<h1>Exemplo 1 - ASP gera JSON</h1>
		<%
			'Declara váriavel
			Dim notebook
			'Seta Objeto
			Set notebook = jsObject()

			'Define valores
			notebook("marca") = "Acer"
			notebook("modelo") = "5130"
			notebook("monitor") = "15"

			'Mostra JSon
			notebook.Flush
			
			Set notebook = Nothing
		%>
    </body>
</html>	

Esse próximo exemplo é mostrado como gerar um objeto ASP com o JSON.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Exemplo 2 - JSON gerar Objeto ASP</title>
        <script language="javascript" runat="server" src="json2.asp"></script>
    </head>

    <body>		
		<h1>Exemplo 2 - JSON gerar Objeto ASP</h1>
		<%
	
			'Declara variavel
			Dim notebook
			Dim variavel_json 
			
			'Variavel com o Json
			variavel_json = "{""marca"":""Acer"",""modelo"":""5130"",""monitor"":""15""}"			
		
			'Seta Objeto e executa o metodo que converte Json para Objeto ASP		
			Set notebook = JSON.parse(variavel_json)		
		
			response.Write "Marca: "&notebook.marca
			response.Write "<br/>Modelo: "&notebook.modelo
			response.Write "<br/>Monitor: "&notebook.monitor
			
			Set notebook = Nothing
		%>
    </body>
</html>	

Abaixo coloquei mais um exemplo unindo o Exemplo 1 e Exemplo 2.

<!--#include file="JSON_2.0.2.asp"-->
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Exemplo 3 - JSON e ASP</title>
        <script language="javascript" runat="server" src="json2.asp"></script>
    </head>

    <body>		
		<h1>Exemplo 3 - JSON e ASP</h1>
		<%
			'Declara váriavel
			Dim notebook
			Dim variavel_json
			
			'Seta Objeto
			Set notebook = jsObject()

			'Define valores
			notebook("marca") = "Acer"
			notebook("modelo") = "5130"
			notebook("monitor") = "15"

			variavel_json = toJSON(notebook)
			
			Set notebook = Nothing
			
			Response.Write variavel_json
			
			'Seta Objeto e executa o metodo que converte Json para Objeto ASP		
			Set notebook = JSON.parse(variavel_json)
			
			response.Write "<hr/>"
			response.Write "Marca: "&notebook.marca
			response.Write "<br/>Modelo: "&notebook.modelo
			response.Write "<br/>Monitor: "&notebook.monitor
			
			Set notebook = Nothing

		%>
    </body>
</html>	

Bom galera, utilizando essas 2 bibliotecas da para perceber que fica mais ágil o desenvolvimento, e por estar como recomendação no JSON já é uma garantia que será muito difícil ter erro nessas funções já criadas.

Download dos arquivos de exemplo.

O próximo parte desse Post irei mostrar como integrar com JQuery.

Até a próxima.

Anúncios
  1. #1 by Guilherme Montoia on 13 de Janeiro de 2012 - 18:48

    Excelente artigo, muito prático e esclarecedor! Minha única dúvida fica em relação ao arquivo json2.asp que é referenciado como um arquivo de JS e não como um include comum como o JSON_2.0.2.asp, porquê? sendo que no caso apresentado nem houve interação com JS?

    • #2 by mateusgamba on 25 de Janeiro de 2012 - 07:50

      realmente, aquela linha não está fazendo nada ai. acho que acabei esquecendo de remover.

  2. #3 by Fernando on 15 de Março de 2012 - 12:17

    Legal e fantástico!

    Mas e a segunda parte, quando acessamos os dados produzidos em JSON com o JQUERY em ambiente ASP classico?

    Aguardamos retorno,

    Obrigado pelo help… 🙂

  3. #4 by Júlio on 10 de Abril de 2014 - 16:30

    Muito bom Mateus!! segue função ajax:

    $.ajax({
    url: ‘exemplo1.asp’,
    dataType: ‘json’,
    error: function(xhr, textStatus, errorThrown) {
    alert(xhr+’ ‘+textStatus+’ ‘+errorThrown);
    },
    beforeSend: function(){
    //$(xdiv).html(“Carregando, por favor aguarde….”);
    },
    success: function(data){
    alert(data.marca);
    //$(oCond).val(html);
    }
    });

    o arquivo exemplo1.asp tem que ser “limpo”:

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: