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); }
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();

- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
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!