Bueno, cuando lo tenga en mis manos, haré una comparativa.
He comparado la velocidad de 4 librerías, incluyendo ToyJson3 de MQL5Book. Como json de muestra tomé la respuesta de Binance a "exchangeInfo" con el tamaño de 768 Kb. Cuando la biblioteca lo lee de una cadena, se analiza en su totalidad, a continuación, selecciono un símbolo y leer todos sus datos. En un bucle 100 veces.
MetaTrader 5 x64 build 5370 started for MetaQuotes Ltd. Windows 10 build 19045, 4 x AMD Ryzen 3 PRO 3200 GE w/ Radeon Vega, AVX2, 6 / 13 Gb memory, 241 / 427 Gb disk, UAC, GMT+3 cpu='AVX2 + FMA3'
Resultado (tiempo de procesamiento de la consulta):
99,5 ms - JAson 1.12(https://www.mql5.com/es/code/13663)
85,5 ms - JAson 1.13
46,9 ms - ToyJson3 (https://www.mql5.com/ru/forum/459079/page4#comment_57805801)
41 ms - JSON(https://www.mql5.com/es/code/53107)
1132 ms - JsonNode (esta biblioteca)
38 ms - mi implementación basada en JSON
PD: Érase una vez otra librería, muy simplificada, que parecía aparecer por aquí. Pero le he perdido la pista.
PPS: No publico el script para medirlo. El código está en una forma completamente antiestética.
He comparado la velocidad de 4 librerías, incluyendo ToyJson3 de MQL5Book. Como json de muestra tomé la respuesta de Binance a "exchangeInfo" con el tamaño de 768 Kb. Cuando la biblioteca lo lee de una cadena, se analiza en su totalidad, a continuación, selecciono un símbolo y leer todos sus datos. En un bucle 100 veces.
Resultado (tiempo de procesamiento de la consulta):
99,5 ms - JAson 1.12(https://www.mql5.com/es/code/13663)
85,5 ms - JAson 1.13
46,9 ms - ToyJson3 (https://www.mql5.com/ru/forum/459079/page4#comment_57805801)
41 ms - JSON(https://www.mql5.com/es/code/53107)
1132 ms - JsonNode (esta biblioteca)
38 ms - mi implementación basada en JSON
PD: Érase una vez otra librería, muy simplificada, que parecía aparecer por aquí. Pero le he perdido la pista.
PPS: No publico el script para medirlo. El código está en una forma completamente antiestético.
¿Podría publicar la cadena o el archivo json, por favor?
https://fapi.binance.com/fapi/v1/exchangeInfo
https://eapi.binance.com/eapi/v1/exchangeInfo
778 KB (796.729 bytes).
¿Podría publicar la cadena o el archivo json, por favor?
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Dominando JSON: Crea tu propio lector JSON desde cero en MQL5:
En este artículo, pretendemos llenar ese vacío demostrando cómo crear su propio lector JSON en MQL5. A lo largo del camino, exploraremos los conceptos fundamentales del análisis de JSON y recorreremos la creación de una estructura de clase flexible capaz de manejar diferentes tipos de elementos JSON (como objetos, matrices, cadenas, números, valores booleanos y valores nulos). Nuestro objetivo final es permitirle analizar cómodamente cadenas JSON y acceder o modificar los datos dentro de ellas, todo desde la comodidad de su entorno MetaTrader 5.
Seguiremos una estructura similar a la que hemos visto en otros artículos relacionados con MQL5 pero con un enfoque específico en el análisis y uso de JSON. Este único artículo se dividirá en cinco secciones principales: una introducción (la que estás leyendo ahora), un análisis más profundo de los fundamentos de JSON y cómo encaja en MQL5, una guía paso a paso para construir un analizador JSON básico desde cero, una exploración de características avanzadas para el manejo de JSON y, finalmente, una lista de código completa más ideas finales.
Autor: Sahil Bagdi