Erro HHash

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Erro HHash

Mensagem por gilbertosilverio »

Ola Amigos,

Neste codigo estou tentado pegar o elemento message,

Código: Selecionar todos


   IF oHttps:Status <> 200

      Arquivo_erro := HB_MEMOREAD( ArqXml )

      hb_JsonDecode( Arquivo_erro, @hRet_erro )    

      If Len(hRet_erro) != 0

         hwg_msginfo(str(Len(hRet_erro)))  // 1

         hwg_msginfo(valtoprg(hRet_erro))  // visualizar o todo o arquivo txt

         if HHasKey(hRet_erro,'message')
            E01 :=hRet_erro['message']
            xTE := 5000
            HWG_MSGTEMPO(E01, xTE)
         endif
      else
         HWG_MSGSTOP([Erro abertura JSON],[Erro do sistema])
      endif
   ELSE
      Hwg_msginfo([Status da remessa ]+ALLTRIM(vTXT01)+[ alterado para: ]+ALLTRIM(cSTATUS),[Aviso do sistema])
   ENDIF

so que da a msg de erro:

Código: Selecionar todos


Error BASE/1123  Erro nos parâmetros: HHASKEY
Called from ->HHASKEY(0)
Called from ->EDITAR_REMESSA(1294)
Called from ->EDITAR_SULAMERICA(1150)
Called from ->ALTERAR_REMESSA(1889)

Por favor, como consigo pegar o retorno "message " desse json, já tentei de tudo e não passa. Onde estou errando.

Alguma dica?

Grato.
Anexos
T2.png
T1.png
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Erro HHash

Mensagem por JoséQuintas »

Código: Selecionar todos

REQUEST HB_CODEPAGE_PTISO

procedure main()

   LOCAL cTxtJson := '[ { "errorCode":"APEX_ERROR", "message":"SystemDmlExcep" } ]'
   LOCAL aTest

   Set( _SET_CODEPAGE, "PTISO" )
   SetMode(40,100)
   CLS

   aTest := hb_JsonDecode( cTxtJson )
   ? aTest[ 1 ][ "errorCode" ]
   ? aTest[ 1 ][ "message" ]

   Inkey(0)

   RETURN
"[" indica array, como pode ver na visualização que você mesmo postou, começou no elemento ZERO, que no Harbour começa no 1.
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/
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Erro HHash

Mensagem por gilbertosilverio »

Ola Quintas,

Só funciona se tirar o hHaskey, por isso não conseguia...

Declarando direto funciona, ate hoje ainda me confundo com matriz...

Obrigado pela ajuda.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Responder