Função ze_JsonDecode

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Função ze_JsonDecode

Mensagem 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
Anexos
boleto.txt
(83.87 KiB) Baixado 379 vezes
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem 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 ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem por JoséQuintas »

É a estrutura que precisa saber ?
json.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Função ze_JsonDecode

Mensagem por malcarli »

dá erro na função, se rodar vai ver a linha correta ok. Obg
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem 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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem por JoséQuintas »

teste.png
Não deu o mesmo resultado, deveria ser valor e não é.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem por JoséQuintas »

erro2.png
erro2.png (9.81 KiB) Exibido 4804 vezes
Erro de principiante....

Código: Selecionar todos

   CASE Left( cTxt, 1 ) $ "-123456789"
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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Função ze_JsonDecode

Mensagem 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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder