Estou tentando gravar um arquivo json em disco usando toJsonFile e busquei informação no TDN e lá tem o codigo abaixo:
# include tlpp-core.th
function u_gravaJsonFile()
local cPathAndFile := 'C:\tlppcore\tojsonfile.txt' as character
local oJsonObject := JSONObject():New() as json
local xReturn := Nil
oJsonObject := {"testetojsonfile" : { "var1" : "ola", "var2": "olaola", "var3": "olaolaola" }
xReturn := oJsonObject:toJsonFile(cPathAndFile)
if valType(xReturn) == "U"
conout("Arquivo: "+cPathAndFile+" criado com sucesso")
else
conout("Erro: "+cValToChar(xReturn)+" na gravacao do arquivo: "+cPathAndFile)
endif
freeObj(oJsonObject)
return
Esse exemplo deveria funcionar mesmo ?
variavel
local oJsonObject := JSONObject():New() as json
Depois gravá-la ?
oJsonObject := {"testetojsonfile" : { "var1" : "ola", "var2":
"olaola", "var3": "olaolaola" }
xReturn := oJsonObject:toJsonFile(cPathAndFile)
Segue o link
https://tdn.totvs.com/display/tec/toJsonFile
1 curtida
eu usaria o memowrite, vai direto ao ponto.
O exemplo tem dois pequenos erros:
- o include deveria estar assim: #include “tlpp-core.th”
- o objeto json está faltando uma chave de fechamento no final:
oJsonObject := {“testetojsonfile” : { “var1” : “ola”, “var2”: “olaola”, “var3”: “olaolaola” }}
Fora isso funciona perfeitamente, poupa até um pouco de trabalho usando um comando só para fazer a gravação. De outra forma precisaria fazer assim: MemoWrite(cFile,oJsonObject:toJson())
Legal que também tem um método para carregar direto de arquivo fromJsonFile()
https://tdn.totvs.com/display/tec/fromJsonFile
Isso é bem prático! Vivendo e aprendendo.
Olá,
O exemplo está com um erro de sintaxe no JSON:
oJsonObject := {"testetojsonfile" : { "var1" : "ola", "var2": "olaola", "var3": "olaolaola" }
Corrigindo o mesmo, para fechar a primeira chave aberta:
oJsonObject := {"testetojsonfile" : { "var1" : "ola", "var2": "olaola", "var3": "olaolaola" }}
Aí sim, o exemplo deveria funcionar corretamente, claro, é necessário verificar se o diretório existe, se você tem permissão de gravação etc, fora essas questões, o método toJsonFile
deve salvar o valor do JSON em arquivo, caso isso não ocorra, é necessário abrir uma issue de manutenção junto da equipe de Tecnologia da TOTVS.