Reading JSON WebRequest return

 

Hello! 

I am having some problems to read the Json return after using WebRequest.


The Json return is:


2020.02.01 10: 13: 44.816  teste (EURUSD, M15)  dados: {"message": [{"MOEDA": "EURUSD", "TIMEFRAME": 15, "SWAPATIVO": 0, "SWAPMOEDA": 1, " ALERTA ":" Verdadeiro "," EA_MAGICO ": 201900059298," IDENTIFICADOR_ROB ":" EURUSD-15-2.15 "," ESPERA ": 500," META ": 1000," PARA ": 1000," VALORCORRETAGEM ": 0," LOTES ":" 0,01 "," AUMENTO1 ":" Verdadeiro "," AUMENT



But, when i desarileze, i cant put in variable to use the data. Anyone can help? Follow the code:


I am sin hash em JAson, json includes.



CJAVal jv;

 res = WebRequest ("POST", uri, NULL, NULL, 5000, post, ArraySize (post), result, result_header);

 dados as string;

 

 dados = CharArrayToString (result, 0, -1);

 Print("dados:", dados);

 jv.Deserialize (dados);

 string mt;

 mt = jv ["EA_MAGICO"]. ToStr ();

Print ("EA:", mt);


2020.02.01 10: 13: 44.816  teste (EURUSD, M15)  dados: {"message": [{"MOEDA": "EURUSD", "TIMEFRAME": 15, "SWAPATIVO": 0, "SWAPMOEDA": 1, " ALERTA ":" Verdadeiro "," EA_MAGICO ": 201900059298," IDENTIFICADOR_ROB ":" EURUSD-15-2.15 "," ESPERA ": 500," META ": 1000," PARA ": 1000," VALORCORRETAGEM ": 0," LOTES ":" 0,01 "," AUMENTO1 ":" Verdadeiro "," AUMENT


Mas eu consigo o valor !!  qualquer ideia? 


Obrigado!

 
Please format your post correctly if you want help.
 
Alain Verleyen : Formate sua postagem corretamente se desejar ajuda.



  res = WebRequest ("POST", uri, NULL, NULL, 5000, publicação, ArraySize (publicação), resultado, result_header);

 

  


 ulong dados;

 

 dados = CharArrayToString (resultado, 0, -1);


// --- verificar erros

   if (res == - 1)

     {

      Print ("Código de erro =", GetLastError ());

      // --- talvez o URL não seja adicionado, mostre a mensagem para adicioná-lo

      MessageBox ("Adicionar endereço '" + uri + "' na guia Expert Advisors da janela Opções", "Erro", MB_ICONINFORMATION);

     }

   outro

     {

      //--- bem sucedido

       if (res == 200)

       {

      string strRes = "";

      strRes = CharArrayToString (resultado, 0, -1, CP_UTF8);

      Print ("retorno:", strRes);

      CJAVal dataM;

      

      dataM.Deserialize (strRes);

      

   

      string stat = dataM ["MOEDA"]. ToStr ();

      Imprimir ("MOEDA:", stat);

       string stat2 = dataM ["mensagem"] ["MOEDA"]. ToStr ();

      Imprimir ("MOEDA2:", stat2);

      Print ("MOEDA3:", dataM ["MOEDA"]. ToStr ());

      Imprimir ("MOEDA4:", stat2);

       }        

  

      Imprimir ("POST do cliente REST:", sinal);

      

      Print ("Resposta do servidor:", CharArrayToString (resultado, 0, -1, CP_UTF8));

      ;

     }    

  retorno (0);     

  }

  

  res=WebRequest("POST",uri,NULL,NULL, 5000, post, ArraySize(post),result, result_header);
 
  

 ulong dados;
 
 dados = CharArrayToString(result,0,-1);

//--- check errors
   if(res==-1)
     {
      Print("Error code =",GetLastError());
      //--- maybe the URL is not added, show message to add it
      MessageBox("Add address '"+uri+"' in Expert Advisors tab of the Options window","Error",MB_ICONINFORMATION);
     }
   else
     {
      //--- successful
       if (res==200)
       {
      string strRes="";
      strRes=CharArrayToString(result,0,-1,CP_UTF8);
      Print("retorno : ",strRes);
      CJAVal dataM ;
      
      dataM.Deserialize(strRes);
      
   
      string stat=dataM["MOEDA"].ToStr();
      Print("MOEDA : ",stat);
       string stat2=dataM ["message"] ["MOEDA"].ToStr();
      Print("MOEDA2 : ",stat2);
      Print("MOEDA3 : ",dataM["MOEDA"].ToStr());
      Print("MOEDA4 : ",stat2);
       }        
  
      Print("REST client's POST: ",signal);
      
      Print("Server response: ",CharArrayToString(result,0,-1,CP_UTF8));
      ;
     }    
  return(0);     
  }
  
 
json return
Files:
2print.png  310 kb
 

one point, is MQL5...not 4..


I thinking i am missing some configuration...or some like that. I ve looking for a solution, but always seem the same way...


desaralize(string return),  like this, but never get value inthis way


CJAVal dataM ;
      
      dataM.Deserialize(strRes);
      
   
      string stat=dataM["MOEDA"].ToStr();