Bibliotecas: Serialização e desserialização de JSON (MQL nativo) - página 15
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Artem Maltsev, recomendo que você adicione minha versão, porque aqueles que baixaram o módulo não poderão fazer isso: #107.
Você pode me dizer como adicionar arredondamento ao dobro?
Há uma opção abaixo, mas ela adiciona colchetes.
Como faço para obter?
{ "id": 54, "nome": "12.01 alterado", "condicoes": [ { "id": 47, "estrategiaId": 54, "indicadorAId": 87, "indicadorA": { "id": 87, "nome": "iATR", "parametros": [ { "id": 46, "nome": null, "valor": 10.0 } ] }, "retornoA": 0, "comparador": ">", "indicadorBId": 88, "indicadorB": { "id": 88, "nome": "iAMA", "parametros": [ { "id": 47, "nome": "Aplicar a", "valor": 1.0 }, { "id": 48, "nome": "Periodo rapido", "valor": 2.0 }, { "id": 49, "nome": "Periodo lento", "valor": 3.0 }, { "id": 50, "nome": "Deslocalmento", "valor": 4.0 }, { "id": 51, "nome": "Aplicar a", "valor": 0.0 } ] }, "retornoB": 0 }, { "id": 48, "estrategiaId": 54, "indicadorAId": 90, "indicadorA": { "id": 90, "nome": "iATR", "parametros": [ { "id": 52, "nome": null, "valor": 10.0 } ] }, "retornoA": 0, "comparador": ">", "indicadorBId": 89, "indicadorB": { "id": 89, "nome": "iAMA", "parametros": [ { "id": 53, "nome": "Aplicar a", "valor": 1.0 }, { "id": 54, "nome": "Periodo rapido", "valor": 2.0 }, { "id": 55, "nome": "Periodo lento", "valor": 3.0 }, { "id": 56, "nome": "Deslocalmento", "valor": 4.0 }, { "id": 57, "nome": "Aplicar a", "valor": 0.0 } ] }, "retornoB": 0 } ] }Funciona corretamente em meu computador. Como você coloca a cadeia de caracteres json na variável pJS?
@Artem Maltsev Obrigado por criar essa biblioteca JSON. Ela é baseada em alguma biblioteca C++?
Você tem algum benchmark de desempenho sobre ela? Além disso, ela usa internamente caracteres de 1 byte ou 2 bytes para armazenar os dados?
Quando um valor é nulo, Deserialize() define o tipo como jtNULL, mas não atribui NULL a m_sv, portanto, se o método ToStr() for comparado a NULL, ele retornará falso:
O resultado é:
2022.03.28 17:50:02.833 test-jsonNULLComparison (GBPUSD,M30) Alerta: b é uma string vazia
A solução alternativa seria comparar o tipo de valor com jtNULL ou alterar o código-fonte na linha 220 adicionando "m_sv=NULL;":
Boa tarde!
A biblioteca legal ajuda muito, muito obrigado.
Acabei de me deparar com este problema - como extrair uma substring de uma string:
Há uma string
{"type": "settings", "data":{"auto_trade":true, "stop_trade":true}}
Preciso extrair a subcadeia de dados.
Isso não funciona dessa forma:
CJAVal js;
js.Deserialise(stroka);
js["data"].ToStr();
Boa tarde!
A biblioteca legal ajuda muito, muito obrigado.
Acabei de me deparar com este problema - como extrair uma substring de uma string:
Há uma string
{"type": "settings", "data":{"auto_trade":true, "stop_trade":true}}
Preciso extrair a substring de dados.
Isso não funciona dessa forma:
CJAVal js;
js.Deserialize(stroka);
js["data"].ToStr();
Até o momento, encontrei apenas uma maneira de extrair a substring necessária:
js.Deserialize(stroka);
string data2=js["data"].Serialize();
js2.Deserialize(data2);
Ou seja, a substring necessária deve ser serializada e desserializada separadamente.
Você pode me dizer como adicionar o arredondamento ao dobro?
Há uma variante abaixo, mas ela adiciona colchetes.
Como obter?
Tente desta forma:
Infelizmente, algo não funcionou novamente.
Como você pode aprender com códigos que não funcionam?
Tentei agora com GET e POST.
"meine adresse"é, obviamente, o URL de uma página na qual a resposta é exibida como
{"isValid":true}
Ou
{"isValid":false}
como resposta.
No entanto, se eu usar
absolutamente nada.
Qual é a razão para isso?