Bibliotecas: JSON Serialization and Deserialization (native MQL) - página 15
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Artem Maltsev, te recomiendo que añadas mi versión, ya que los que descargaron el módulo no podrán hacerlo: #107.
¿Pueden decirme cómo añadir el redondeo al doble?
Hay una opción abajo, pero añade corchetes.
¿Cómo conseguirlo?
{ "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 correctamente en mi ordenador. ¿Cómo se pone la cadena json en la variable pJS?
@Artem Maltsev Gracias por crear esta biblioteca JSON. ¿Está basada en alguna librería C++?
¿Tienes algún benchmark de rendimiento sobre esto? Además, ¿utiliza internamente caracteres de 1 o 2 bytes para almacenar los datos?
Cuando un valor es null, Deserialize() establece el tipo a jtNULL, pero no asigna NULL a m_sv, por lo que si el método ToStr() se compara con NULL devuelve false:
La salida es:
2022.03.28 17:50:02.833 test-jsonNULLComparison (GBPUSD,M30) Alerta: b es una cadena vacía
La solución sería comparar el tipo de valor con jtNULL o cambiar el código fuente en la línea 220 añadiendo "m_sv=NULL;":
Buenas tardes.
Genial biblioteca ayuda mucho, muchas gracias.
Acabo de encontrar este problema - cómo extraer una subcadena de una cadena:
Hay una cadena
{"type": "settings", "data":{"auto_trade":true, "stop_trade":true}}}
Necesito sacar la subcadena de datos.
No funciona así:
CJAVal js;
js.Deserialise(stroka);
js["datos"].ToStr();
¡Buenas tardes!
Muy útil la biblioteca, muchas gracias.
Acabo de encontrar este problema - cómo extraer una subcadena de una cadena:
Hay una cadena
{"type": "settings", "data":{"auto_trade":true, "stop_trade":true}}
Necesito sacar la subcadena de datos.
No funciona así:
CJAVal js;
js.Deserialize(stroka);
js["datos"].ToStr();
Hasta ahora sólo he encontrado una forma de extraer la subcadena requerida:
js.Deserialize(stroka);
string datos2=js["datos"].Serializar();
js2.Deserializar(datos2);
Es decir, la subcadena requerida debe serializarse y deserializarse por separado.
¿Puede decirme cómo añadir el redondeo al doble?
Hay una variante a continuación, pero añade corchetes.
¿Cómo se consigue?
Pruébalo así:
Por desgracia, algo no funcionó de nuevo.
¿Cómo se supone que se aprende de los códigos que no funcionan?
Ahora lo he probado con GET y POST.
"meine adresse"es por supuesto la URL a una página en la que la respuesta se muestra como
{"isValid":true}
O
{"isValid":false}
como respuesta.
Sin embargo, si utilizo
absolutamente nada.
¿Cuál es el motivo?