Página 1 de 1
Função ze_JsonDecode
Enviado: 12 Abr 2024 14:22
por malcarli
Estou tentando usar essa função para pegar os dados de um json retornado pelo banco siccob, Tentei tb hb_JsonDecode, mas ambas não retornaram as informações. A função ze_JsonDecode, inclusive dá erro e não consegui resolver. Vou anexar o retorno, caso algum colega consiga ver o que pode ter de errado ou uma forma de buscar as informações do json
Att.
Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
https://malc-informatica.ueniweb.com
http://marcelo.lx.com.br
Email / Skype:
malcarli@life.com.br
Função ze_JsonDecode
Enviado: 12 Abr 2024 16:48
por JoséQuintas
malcarli escreveu:Tentei tb hb_JsonDecode, mas ambas não retornaram as informações. A função ze_JsonDecode, inclusive dá erro e não consegui resolver. Vou anexar o retorno, caso algum colega consiga ver o que pode ter de errado ou uma forma de buscar as informações do json
Não entendi.
Dá erro, ou não consegue pegar as informações ?
Função ze_JsonDecode
Enviado: 12 Abr 2024 16:57
por JoséQuintas
É a estrutura que precisa saber ?
Função ze_JsonDecode
Enviado: 12 Abr 2024 16:57
por malcarli
dá erro na função, se rodar vai ver a linha correta ok. Obg
Função ze_JsonDecode
Enviado: 12 Abr 2024 16:59
por JoséQuintas
malcarli escreveu:dá erro na função, se rodar vai ver a linha correta ok. Obg
Que função ?
Passou um txt.
Função ze_JsonDecode
Enviado: 12 Abr 2024 17:24
por JoséQuintas
Agora entendi.
ze_jsonDecode() foi um quebra-galho, porque xharbour não tinha função pra isso.
Foi só ajuda na época.
Agora xharbour tem sua própria função.
Função ze_JsonDecode
Enviado: 12 Abr 2024 17:54
por JoséQuintas
SYSTEM ERROR
Error BASE/1069 Argument error: array assign
Called from ZE_JSONDECODEVALUE(122)
Called from ZE_JSONDECODEVALUE(124)
Called from ZE_JSONDECODEVALUE(50)
Called from ZE_JSONDECODEVALUE(124)
Called from ZE_JSONDECODEVALUE(50)
Called from ZE_JSONDECODEVALUE(41)
Called from ZE_JSONDECODEVALUE(124)
Called from ZE_JSONDECODEVALUE(50)
Called from ZE_JSONDECODE(21)
Called from MAIN(11)
(1) = Tipo: C Valor: "tipoDesconto"
Código: Selecionar todos
IF Left( cTxt, 1 ) == ":"
Altd(2)
xValue[ xValue2 ] := Nil
Na mensagem de erro mostra "tipoDesconto", que devia ser o elemento a ser acrescentado.
Tentei a única possibilidade do erro: xvalue não ser hash array
Código: Selecionar todos
IF Left( cTxt, 1 ) == ":"
IF ValType( xValue ) != "H"
xValue := hb_Hash()
ENDIF
xValue[ xValue2 ] := Nil
À primeira vista deu certo.
Mas melhor usar a função do próprio xharbour agora que ele tem.
Nem lembrava mais desse fonte kkkk
Função ze_JsonDecode
Enviado: 12 Abr 2024 18:06
por JoséQuintas
Não deu o mesmo resultado, deveria ser valor e não é.
Função ze_JsonDecode
Enviado: 12 Abr 2024 18:13
por JoséQuintas

- erro2.png (9.81 KiB) Exibido 4801 vezes
Erro de principiante....
Faltou aí o número ZERO.
A alteração anterior é errada, é só esta mesmo.
Ao invés de 1 a 9, é de 0 a 9.
Função ze_JsonDecode
Enviado: 14 Abr 2024 09:08
por JoséQuintas
Complemento:
Deu erro com zero inteiro, mas não daria erro em zero com decimais.
Talvez tenha sido a primeira situação assim.