Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cesão

[Resolvido] Gerar JSON com ASP

Recommended Posts

Olá, amigos.

 

Já busquei conteúdo no google e aqui mesmo no fórum, mas não encontrei nenhum resultado 100% satisfatório.

Gostaria de criar JSON com ASP. Ele cria um arquivo? Assim como XML? Pois não encontrei nada parecido com isso no google ou aqui no fórum.

 

Encontrei apenas uns posts, mas nenhum deles parece estar salvando nada. E mesmo assim, não entendi como criá-lo.

Alguém tem algum exemplo efetivo de como criar um JSON com ASP?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Cesão,

 

Bom, eu nunca usei JSON em meus projetos com ASP, uso apenas XML, mas a teoria eu conheço bem.

 

 

Seguem abaixo, algumas ótimas fontes de explicação.

 

1 - http://imasters.com.br/artigo/10709/asp/usando_json_com_asp/ - português

 

2 - http://www.webdevbros.net/2007/04/26/generate-json-from-asp-datatypes/ - inglês

 

3 - http://tforster.wik.is/ASP_Classic_Practices_For_The_21st_Century/JSON4ASP - inglês (melhor artigo na minha opinião)

 

4 - http://code.google.com/p/aspjson/ - inglês (muito bom)

 

 

Então é isso, qualquer dúvida poste aqui.

 

[]'s

 

 

Pedro Felipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro, obrigado pelas indicações dos posts, mas ainda estou em dúvida. Apesar de ainda não ter testado efetivamente esses códigos, vi que em NENHUM DELES há uma fase onde o código escolhe a pasta a ser salva e salva o arquivo .JSON. Porque isso acontece? o json não é um arquivo? Se for, em que momento ele salva em uma pasta do servidor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá amigo...

tem alguns ótimos exemnplos de JSON no fórum

 

olha este link

Compartilhar este post


Link para o post
Compartilhar em outros sites

o json, é um arquivo .js normal, só que ao invés da linguagem, ele tem a notação que você aprendeu nos links. Entendeu?

 

[]'s

 

Pedro Felipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro, obrigado pelas indicações dos posts, mas ainda estou em dúvida. Apesar de ainda não ter testado efetivamente esses códigos, vi que em NENHUM DELES há uma fase onde o código escolhe a pasta a ser salva e salva o arquivo .JSON. Porque isso acontece? o json não é um arquivo? Se for, em que momento ele salva em uma pasta do servidor?

JSON não é um arquivo e sim uma formatação. Para gerar o arquivo, você tem que adaptar o sistema para fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pedro, obrigado pelas indicações dos posts, mas ainda estou em dúvida. Apesar de ainda não ter testado efetivamente esses códigos, vi que em NENHUM DELES há uma fase onde o código escolhe a pasta a ser salva e salva o arquivo .JSON. Porque isso acontece? o json não é um arquivo? Se for, em que momento ele salva em uma pasta do servidor?

JSON não é um arquivo e sim uma formatação. Para gerar o arquivo, você tem que adaptar o sistema para fazer isso.

 

Claro que há necessidade de adaptação, qualquer alteração pede uma adaptação. Em todo caso, o JSON, pode sim ser um arquivo .js com a Javascript Object Notation ao invés de comandos 'normais' da linguagem, eles vão estar fazendo um papel similar ao do XML, porém com uma melhor performance.

 

[]'s

 

Pedro Felipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que há necessidade de adaptação, qualquer alteração pede uma adaptação.

Não seja precipitado Pedro. A adaptação que me refiro é no caso dele está utilizando um código como esse para gerar JSON. Esse arquivo apenas retorna uma página ao navegador. Caso ele queira salvar como .JSON basta que faça uma pequena adaptação no código para salvar o arquivo em uma pasta, utilizando FSO.

 

Não precisa ser necessariamente .JS ou .JSON. O arquivo pode ser salvo em qualquer extensão, pois é apenas um texto.

 

O objetivo de JSON é formatação, a mesma idéia de XML que também é formatação. O detalhe é que são formatações diferentes e JSON é mais "novo", dessa forma linguagens mais antigas, como ASP, não dão suporte nativo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que há necessidade de adaptação, qualquer alteração pede uma adaptação.

Não seja precipitado Pedro. A adaptação que me refiro é no caso dele está utilizando um código como esse para gerar JSON. Esse arquivo apenas retorna uma página ao navegador. Caso ele queira salvar como .JSON basta que faça uma pequena adaptação no código para salvar o arquivo em uma pasta, utilizando FSO.

 

Não precisa ser necessariamente .JS ou .JSON. O arquivo pode ser salvo em qualquer extensão, pois é apenas um texto.

 

O objetivo de JSON é formatação, a mesma idéia de XML que também é formatação. O detalhe é que são formatações diferentes e JSON é mais "novo", dessa forma linguagens mais antigas, como ASP, não dão suporte nativo.

 

 

Claro, eu havia entendido de outra forma, claro o Json é apenas uma notação, um texto, ele só organiza os dados de uma forma padronizada, não necessariamente precisa ter uma extensão específica.

 

[]'s

 

Pedro Felipe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa pessoal. Muito obrigado pela ajuda!!

 

O assunto é meio "novo", então acho que mta gente vai se beneficiar desse tópico.

Uma dúvida que tenho é a seguinte. Usei o modelo que o Pedro passou (aquele em que ele julgou ser o melhor), e a linha geradora do meu JSON ficou assim:

 

Set NWwords = JSON.parse("{""ID_PALAVRA"":"&TB("ID_PALAVRA")&",""TXT_PALAVRA"":"""&TB("TXT_PALAVRA")&""",""TXT_HTML"":""<a href='teste.asp'>teste</a>""}")
Como podem ver alguns conteúdos vem do banco. Gostaria de saber como dar um loop nessa linha de código, fazendo com que ele alimente o json com mais registros? Não posso dar o loop antes do Set pq vai dar problema. Como faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cesão, dei uma lida rápida no "melhor tutorial" e nesse tutorial que é em português e vi que são informações diferentes.

 

O primeiro ensina a ler "arquivo JSON" e o segundo ensina a criar o "arquivo JSON".

 

Na minha opinião, para você gerar, seria interessante utilizar o conteúdo em português, pois é simples e atende para o que citou acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, acredito que os dois funcionam iguais. Se printar na tela no formato correto, está valendo, certo? O primeiro fazia isso tbm, mas vou começar a testar esse e português, porque agora, entendendo um pouco de JSON, parece ser bem mais simples mesmo.

 

No outro eu já tinha conseguido fazer o esquema de loop tbm, criando a string antes e depois só criando a stringJSON com a variável da primeira string completa.

 

Gostaria de saber se existe alguma diferença entre usar < ou < no código? Pois estou usando um "testador" JSON que quando eu coloco < as vezes ele mantém como <, mas as vezes ele transforma em <. Daí o código fica <p><a>teste</a></p>.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cesão, é como eu falei, não deu tempo de testar o código em si, mas pela leitura do código de exemplo, parece que o código que você estava utilizando serve para exibir os dados na tela, mas não em formato JSON.

 

Posso está errado, pois as vezes a função que gera o JSON está nessa linha JSON.stringify(car), mas como não tive como testar ainda, não posso afirmar.

 

Outra coisa é... eu uso editor de texto para criar notícias, por exemplo, e editor de texto cria um html cheio de espaços e tabs entre os códigos. O JSON está criando certos elementos estranhos. Por exemplo, onde possui um tab, ele cria \r\n\t ou \r\n.

 

Alguém sabe se isso é normal e vai funcionar mesmo assim depois? Ou eu tenho que fazer alguma modificação para começar a usar conteúdo HTML dentro do JSON normalmente?

Não posso afirmar que é normal, pq não li nada a respeito. Mas analisando pela lógica, por si tratar de Javascript, está correto, pois esses códigos são interpretados em Javascript.

 

Coloque essa linha abaixo em um HTML, execute e verá o resultado:

<script type="text/javascript">
alert('Teste\r\n\tTeste2');
</script>

 

Vai postando o andamento que vamos lhe ajudando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal hargon, como "alterei" o meu post pois tirei a dúvida já, apenas para explicar ao pessoal, eu estava com dúvida sobre HTML no JSON, pois ele criava uns digitos estranhos, como o que o hargon citou. Mas quando coloquei o meu código gerado no testador, vi que ele já lê o código normalmente sem os caracteres especiais. Mas ainda estou com esta dúvida. Vi que o testador transforma em < mas as vezes em < e normalmente ele mistura isso no mesmo código. Existe algum problema?

 

Ah, e hargon, no outro exemplo, ele gera o JSON sim nessa linha JSON.stringify(car), onde ele gera uma string em formato JSON. Na verdade, ele não GERA em formato JSON, mas CONFERE parece. Se o formato não estiver correto, ele ndá pau. Mas agora estou usando o exemplo do iMasters mesmo, em português.

 

AH, e aproveitando, não estou conseguindo dar loop nesse novo exemplo. Tentei na linha do Flush, mas não dá muito certo, pois ele não cria as vírgulas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É pessoal... ainda não consegui fazer o loop neste meu JSON.

 

A montagem dele está assim:

<!--#include file="JSON_2.0.2.asp"-->
<%
Dim testeJSON
Set testeJSON= jsObject()

    testeJSON("ID-PALAVRA") = var_id
    testeJSON("TEXTO-PALAVRA") = var_palavra
    testeJSON("HTML") = var_html

testeJSON.Flush
%>

Essas variáveis (var_id, var_palavra, var_html) vem do banco, ou seja, queria dar um loop para ele replicar a linha do JSON de acordo com os registros do banco.

 

Dei um loop na linha testeJSON.Flush e até deu certo, mas não sei se isso é correto e, mesmo se estivesse, não sei como adicionar as vírgulas entre cada registro do JSON nesse caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele esta gerando algum erro ???

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele esta gerando algum erro ???

 

Quando eu faço o loop na linha do Flush? Não.. ele até faz o loop sem erro... o problema é que no JSON precisa ter virgulas entre os registros, certo?

 

tipo:

{"ID-PALAVRA":19,"TEXTO-PALAVRA":"Casa","HTML":"<p>texto de casa</p>"},{"ID-PALAVRA":20,"TEXTO-PALAVRA":"Pão","HTML":"<p>texto de pão</p>"}

certo?

 

O problema é que AONDE vou colocar a virgula dando um loop nessa linha do flush?

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz uma concatenação

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz uma concatenação

 

Na verdade eu já tentei isso, por isso que postei que não estava conseguindo. O Flush não é um response.write, então não tem como concatenar com ele. Se eu fizer testeJSON.Flush & ", " ele já dá erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.