A biblioteca funciona em MQL4 e MQL5
A gratidão é aceita na forma de exemplos de seu trabalho prático com recursos da Web da MQL. ;)
Funciona no MT4. No MT5, o erro Stack overflow é exibido. Não há informações sobre o local do estouro. E o depurador simplesmente trava.
O erro aparece em um exemplo elementar:
#include <jason.mqh> void OnStart() { CJAVal json; json["item1"] = "value1"; json["item2"] = "value2"; }
Como se viu, o script trava na linha 90, aumentando o tamanho de 'm_e' de 1 para 2x:
ArrayResize(m_e,c+1);
P.S. MT5 build 1210
Funciona no MT4. No MT5, o erro Stack overflow é exibido. Não há informações sobre o local do estouro. E o depurador simplesmente trava.
O erro aparece em um exemplo elementar:
Como se viu, o script trava na linha 90, aumentando o tamanho de 'm_e' de 1 para 2x:
P.S. MT5 build 1210
Obrigado pela biblioteca, mas há alguns problemas.
Não consigo descobrir como posso colar uma matriz usando a biblioteca.
Por exemplo, há
string a[] = {"1", "2", "3"}; int b[] = {1, 2, 3}; double c[] = {1.1, 2.9, 3.03};
Os problemas surgem no nível de declaração de uma variável do tipo CJAVal. Usar CJAVal primer(jtARRAY, a); não ajuda.
O exemplo de matriz que você mostrou no exemplo não funciona para mim - e se eu tiver 10 valores na matriz? Tenho que criar novas 10 variáveis do tipo CJAVal????
Você poderia complementar ou expandir o arquivo de exemplo ?????
p.s. Estou trabalhando com o formato json pela primeira vez. Estudei seu programa de arquivo de exemplo.
Uau, isso é trabalho duro! E para quê? Para extrair algumas variáveis de uma pequena linha.
Por que o código está formatado dessa forma? Para que ninguém tente dar uma olhada nele? Afinal, trata-se de uma base de código.
Uau, isso é trabalho duro! E para quê? Para extrair algumas variáveis de uma pequena linha.
Por que o código está formatado dessa forma? Para que ninguém tente dar uma olhada nele? Afinal, é uma base de código.
Estou interessado na ideia de gravar rapidamente qualquer dado em um arquivo e extraí-lo rapidamente. É uma pena que a liba não formate a legibilidade para o olho humano :( Estou inclinado ao fato de que provavelmente eu mesmo escreverei um programa desse tipo para minhas tarefas.
O código foi simplificado o máximo possível - minimização!
Estou interessado na ideia de gravar rapidamente quaisquer dados em um arquivo e extraí-los rapidamente. É uma pena que a biblioteca não formate a legibilidade para o olho humano :( Estou inclinado ao fato de que provavelmente escreverei um programa desse tipo para minhas próprias tarefas.
O código foi simplificado o máximo possível - minimização!
Ele não é bom para essa tarefa, não é como a serialização em PHP ou C#.
Há uma colher de sopa de tarte aqui:
virtual CJAVal *FindKey(string akey) { for(int i=0; i<ArraySize(m_e); i++) if(m_e[i].m_key==akey) return GetPointer(m_e[i]); return NULL; }A chave é pesquisada por força bruta simples. Não é possível trabalhar rapidamente com dados grandes.
Não é bom para essa tarefa, não é como a serialização em PHP ou C#.
Há uma colher de alcatrão aqui:
A chave é encontrada por uma simples pesquisa de força bruta. Você não conseguirá trabalhar rapidamente com dados grandes.Há um número limitado de elementos de hash, se não me engano.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Serialização e desserialização de JSON (MQL nativo):
Serialização e desserialização do protocolo JSON. O código é transferido de uma biblioteca С++ o com alta velocidade.
Exemplo prático: autorização num site e analisar a resposta
Autor: o_O