PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 25 → WM - Como Ler um JSON externo de forma simples
WM - Como Ler um JSON externo de forma simples
Iniciado por Jefferson Araujo, 20,ago. 2024 22:00 - 1 respuesta
Miembro registrado
2 mensajes
Publicado el 20,agosto 2024 - 22:00




_JsonStatus is JSON
solicitacao_http is restRequest
sCodigo, sDescricao is string
sTipoAto, sNumeroAto, sAnoAto is string
dDataIni, dDataFim, _DataI,_DataF is Date

HourGlass(True)
solicitacao_http..URL = EDT_LocalJson //Recebe o endereço do Json

resposta_http is restResponse = RESTSend(solicitacao_http)

IF ErrorOccurred THEN
Error(ErrorInfo(errFullDetails))
RETURN
END

_JsonStatus = resposta_http..Content

_Ocorrencias is int = _JsonStatus.nomenclaturas..Occurrence
IF _Ocorrencias <> 0 THEN
FOR i = 1 TO _Ocorrencias
sCodigo = NoCharacter(_JsonStatus.nomenclaturas[i].Codigo,".",sscAll)
sDescricao = NoCharacter(_JsonStatus.nomenclaturas[i].Descricao,CR,sscAll)
sDescricao = NoCharacter(_JsonStatus.nomenclaturas[i].Descricao,"-",sscAll)

_DataI = NoCharacter(NoSpace(_JsonStatus.nomenclaturas[i].Data_Inicio),"/",sscAll)
dDataIni = Middle(_DataF,5,4) + Middle(_DataF,3,2) + Middle(_DataF,1,2) // para transformar a data para Ano/Me/Dia

_DataF = NoCharacter(NoSpace(_JsonStatus.nomenclaturas[i].Data_Fim),"/",sscAll)
dDataFim = Middle( _DataF,5,4) + Middle(_DataF,3,2) + Middle(_DataF,1,2)

sTipoAto = _JsonStatus.nomenclaturas[i].Tipo_Ato
sNumeroAto = _JsonStatus.nomenclaturas[i].Numero_Ato
sAnoAto = _JsonStatus.nomenclaturas[i].Ano_Ato

IF Length(sCodigo) = 8 THEN //Será adicionado apenas os registro NCM completos, com 8 dígitos.
HReset(ncmsul)
ncmsul.ncm = sCodigo
ncmsul.desc = sDescricao
ncmsul.dataVig = dDataIni
ncmsul.dataFim = dDataFim
ncmsul.tipo = sTipoAto
ncmsul.numero = sNumeroAto
ncmsul.ano = sAnoAto
HAdd(ncmsul)
END
END

HourGlass(False)
Info("Fim da importação")
ELSE
Error("Arquivo não Encontrado!")
END
Mensaje modificado, 20,agosto 2024 - 22:05
Miembro registrado
2 mensajes
Publicado el 20,agosto 2024 - 22:06
Exemplo do Arquivo:

{
"Data_Ultima_Atualizacao_NCM": "Vigente em 22/07/2024",
"Ato": "Resolução Camex nº 607/2024",
"Nomenclaturas": [
{
"Codigo": "01",
"Descricao": "Animais vivos.",
"Data_Inicio": "01/04/2022",
"Data_Fim": "31/12/9999",
"Tipo_Ato": "Res Camex",
"Numero_Ato": "272",
"Ano_Ato": "2021"
},
{
"Codigo": "01.01",
"Descricao": "Cavalos, asininos e muares, vivos.",
"Data_Inicio": "01/04/2022",
"Data_Fim": "31/12/9999",
"Tipo_Ato": "Res Camex",
"Numero_Ato": "272",
"Ano_Ato": "2021"
},
{
"Codigo": "0101.2",
"Descricao": "- Cavalos:",
"Data_Inicio": "01/04/2022",
"Data_Fim": "31/12/9999",
"Tipo_Ato": "Res Camex",
"Numero_Ato": "272",
"Ano_Ato": "2021"
},
{
"Codigo": "0101.21.00",
"Descricao": "-- Reprodutores de raça pura",
"Data_Inicio": "01/04/2022",
"Data_Fim": "31/12/9999",
"Tipo_Ato": "Res Camex",
"Numero_Ato": "272",
"Ano_Ato": "2021"
},
]
}
Mensaje modificado, 20,agosto 2024 - 22:08