Tempo aproximado para leitura: 00:01:00 min
Dúvida
Como efetuar a leitura de um arquivo Json com array através da classe JsonObject?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Todas as versões
Solução
A leitura do arquivo Json , pode ser realizada conforme exemplo:
#include "protheus.ch"
User Function Exemplo1()
Local cFile := '\teste\exemplo2.json'
Local cJsonStr,oJson
Local nId, cNome, cNomer
// Le a string JSON do arquivo do disco
cJsonStr := readfile(cFile)
// Cria o objeto JSON e popula ele a partir da string
oJson := JSonObject():New()
cErr := oJSon:fromJson(cJsonStr)
If !empty(cErr)
MsgStop(cErr,"JSON PARSE ERROR")
Return
Endif
// Agora vamos ler as propriedades com GetJSonObject()
nId := oJson:GetJSonObject('a1_cod')
cNome := oJson:GetJSonObject('a1_nome')
cNomer := oJson:GetJSonObject('a1_nreduz')
FreeObj(oJson)
Return
STATIC Function ReadFile(cFile)
Local cBuffer := ''
Local nH , nTam
nH := Fopen(cFile)
IF nH != -1
nTam := fSeek(nH,0,2)
fSeek(nH,0)
cBuffer := space(nTam)
fRead(nH,@cBuffer,nTam)
fClose(nH)
Else
MsgStop("Falha na abertura do arquivo ["+cFile+"]","FERROR "+cValToChar(Ferror()))
Endif
Return cBuffer
JsonObject - GetJsonObject
0 Comentários