Библиотеки: JSON Serialization and Deserialization (native MQL) - страница 15
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Artem Maltsev, рекомендую вам добавить мою версию, поскольку, у скачавших модуль сделать так не получится: #107 .
Подскажите, как добавить округление в double
Есть вариант ниже, но он добавляет квадратные скобки.
Как получить?
{ "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 } ] }На моем компьютере все работает правильно. Как вы помещаете строку json в переменную pJS?
@Artem Maltsev Спасибо за создание этой библиотеки JSON. Она основана на какой-то библиотеке C++?
Есть ли у вас бенчмарки производительности? Также, использует ли она для хранения данных 1-байтовые или 2-байтовые символы?
Когда значение равно null, Deserialize() устанавливает тип в jtNULL, но не присваивает NULL в m_sv, поэтому при сравнении метода ToStr() с NULL возвращается false:
Вывод:
2022.03.28 17:50:02.833 test-jsonNULLComparison (GBPUSD,M30) Alert: b is an empty string.
Обходным решением будет сравнение типа значения с jtNULL или изменение исходного кода в строке 220 путем добавления "m_sv=NULL;":
Доброго времени суток!
Крутая библиотека очень помогает, огромное спасибо.
Только вот столкнулся с такой проблемой - как вытащить подстроку из строки:
Есть строка
{"type":"settings","data":{"auto_trade":true,"stop_trade":true}}
нужно вытащить подстроку data.
Так не получается:
CJAVal js;
js.Deserialize(stroka);
js["data"].ToStr();
Доброго времени суток!
Крутая библиотека очень помогает, огромное спасибо.
Только вот столкнулся с такой проблемой - как вытащить подстроку из строки:
Есть строка
{"type":"settings","data":{"auto_trade":true,"stop_trade":true}}
нужно вытащить подстроку data.
Так не получается:
CJAVal js;
js.Deserialize(stroka);
js["data"].ToStr();
Нашел пока только один способ вытащить нужную подстроку:
js.Deserialize(stroka);
string data2=js["data"].Serialize();
js2.Deserialize(data2);
Т.е. нужную подстроку нужно отдельно сериализовать и десериализовать.
Подскажите, как добавить округление в double
Есть вариант ниже, но он добавляет квадратные скобки.
Как получить?
Попробуйте так:
К сожалению, что-то снова не сработало.
Как можно учиться на неработающих кодах?
Теперь я попробовал его с GET и POST.
"meine adresse"это, конечно, URL-адрес страницы, на которой ответ отображается как
{"isValid":true}
Или
{"isValid":false}
в качестве ответа.
Однако если я использую
абсолютно ничего.
В чем причина этого?