Quantcast
Channel: Fórum ASP
Viewing all articles
Browse latest Browse all 1214

Escrever individualmente string JSON em arquivo TXT

$
0
0

Objetivo: registrar uma informação num arquivo txt toda vez que o usuário acessar determinada página.

Como? Quero que a informação seja gravada em JSON.

 

A dificuldade:

Em situações em que precisa escrever um lote de dados em JSON é mais tranquilo porque todas as iterações ocorrem numa vez só.

Exemplo. Passar o resultado de um recordset. É só rodar o loop é pronto. Cria uma string e beleza.

 

Meu problema é que cada "iteração" ocorrerá quando o usuário acessar a página. Aí complica na hora de escrever o novo valor no arquivo txt porque já terá conteúdo lá.

 

 

Ilustrando.

Quando for o primeiro acesso à página será escrito isso no txt.

[{"cds":"05/10/2015 09:12:31"}]

Até aqui sem problema.

 

 

No segundo acesso será escrita nova informação no mesmo formato. O resultado será

[{"cds":"05/10/2015 09:12:31"}] [{"cds":"07/10/2015 10:25:31"}]

Então a coisa complica porque o resultado não será compatível com JSON.

Ainda que eu coloque uma vírgula para separar os arrays a coisa não funcionará.

 

Para ficar no formato certo a string deveria ser escrita assim

[[{"cds":"05/10/2015 09:12:31"}],[{"cds":"07/10/2015 10:25:31"}]]

Estou usando um FSO para cria o objeto que escreve no txt

Segue trecho...

trecho...
Set ObjMyFile = CreateObject("Scripting.FileSystemObject")
Set WriteMyData = ObjMyFile.OpenTextFile(LogFileDirectory & "\" & LogFileName,8,True)
RowHeaderString = RowHeaderString & "[{""cds"":" & """" & Now & """" & "},"
RowHeaderString = RowHeaderString & "{""cdu"":"  & """490""" & "},"
RowHeaderString = RowHeaderString & "{""cdi"":"  & """165656""" &"},"
RowHeaderString = RowHeaderString & "{""item"":" & """XPTO""" &"},"
RowHeaderString = RowHeaderString & "{""data"":" & """" & Now & """" & "}],"
WriteMyData.WriteLine(RowHeaderString)

Então peço ajuda aos colegas.

O que faço? Copio os dados antes, mesclo tudo e sobrescrevo o conteúdo?

Qual a saída?


Viewing all articles
Browse latest Browse all 1214