MQL4 JSON Parser Library

MQL4 JSON Parser Library
Download ALL MT4 librarys (94)
YouTube Video Thumbnail



Similar MetaTrader Tools

MQL4 JSON Parser Library

Info

The MQL4 JSON Parser Library is a Library for MetaTrader 4 that mql4 json parserthis tool parses mql4 strings containing json code, creating a `jsonvalue` object that allows retrieval of fields within the json structure. It also includes a `jsoniterator` class for looping over object keys.

Usage

This tool is typically used for enhancing chart analysis and decision making.

Platform

This Library works exclusively on MetaTrader 4 (both build 600+ and newer versions).

Setup

Place the downloaded file in MQL4/Libraries folder via File ? Open Data Folder in MetaTrader 4.


How to Install and Use MQL4 JSON Parser Library

1. Storage: Place library files in the MQL/Libraries directory to ensure they are accessible to your projects.

2. Implementation: Include the library in your code using the #import directive, ensuring you match the exact function names and parameters.

3. Compilation: Ensure the library is present in the directory before you compile your main EA or script, as the compiler links them during this phase.

4. Management: Keep libraries organized in sub-folders if you manage many custom functions to maintain a clean project structure.

Frequently Asked Questions

Q: What is a library file used for? A: Libraries store reusable code modules, allowing you to centralize common logic used by multiple EAs or indicators.

Q: Is a library executable? A: No, libraries are non-executable files containing functions; they must be imported into an EA, indicator, or script to function.

Q: Can I update a library while the platform is running? A: You should compile your EA or script after updating a library to ensure the latest code changes are integrated.

What this tool does

MQL4 JSON ParserThis tool parses MQL4 strings containing JSON code, creating a `jsonvalue` object that allows retrieval of fields within the JSON structure.

Typical Use Case

This Library excels in automated trading and technical analysis on MetaTrader 4.

Compatible Platform & Setup

This Library works on MetaTrader 4. Place the file in the MQL4/Libraries folder and restart the terminal.

Description & Settings

Related: Simple Unit Test Include Library for MQL4 - another powerful library for MetaTrader 4 traders.

MQL4 JSON Parser

This tool parses MQL4 strings containing JSON code, creating a `jsonvalue` object that allows retrieval of fields within the JSON structure. It also includes a `jsoniterator` class for looping over object keys.

Also recommended: mt4r for MQL4: A Compatibility Update - similar library with strong performance on MetaTrader 4.


The parser utilizes a simple recursive descent approach and requires the `hash` class.

Note: Parsing of unicode escaped characters is not yet implemented. The codebase version may not be the most recent. The latest version can be found here.



Documentation:

jsonparser class

jsonvalue class

Example:

#include "hash.mqh" #include "json.mqh" string s = "{ \"firstname\": \"john\", \"lastname\": \"smith\", \"age\": 25, "+"\"address\": { \"streetaddress\": \"21 2nd street\", \"city\": \"new york\", \"state\": \"ny\", \"postalcode\": \"10021\" },"+"\"phonenumber\": [ { \"type\": \"home\", \"number\": \"212 555-1234\" }, { \"type\": \"fax\", \"number\": \"646 555-4567\" } ],"+"\"gender\":{ \"type\":\"male\" } }"; jsonparser *parser = new jsonparser(); jsonvalue *jv = parser.parse(s); if (jv == null) { print("error:"+(string)parser.geterrorcode()+parser.geterrormessage()); } else { print("parsed:"+jv.tostring()); if (jv.isobject()) { jsonobject *jo = jv; // direct access - will throw null pointer if wrong getter used. print("firstname:" + jo.getstring("firstname")); print("city:" + jo.getobject("address").getstring("city")); print("phone:" + jo.getarray("phonenumber").getobject(0).getstring("number")); // safe access in case json data is missing or different. if (jo.getstring("firstname",s) ) print("firstname = "+s); // loop over object keys jsoniterator *it = new jsoniterator(jo); for( ; it.hasnext() ; it.next()) { print("loop:"+it.key()+" = "+it.val().tostring()); } delete it; } delete jv; } delete parser;

The latest version can also be found here.

You may also like: MQL4 MySQL Connector for Builds 600+ - excellent alternative for library users on MetaTrader 4.

Source Code

#ifndef ydrol_json_mqh
#define ydrol_json_mqh
/*
   todo the constants true|false|null could be represented as fixed objects.
      to do this the deleting of _hash and _array must skip these objects.
   todo test null
   todo parse unicode escape
*/
/*
   see json_demo for examples.

.......

Leave your opinion, ask a question, share some knowledge

Limitations & Risk Warning

  • This tool is provided for educational and testing purposes only.
  • Past performance does not guarantee future results.
  • Trading involves substantial risk of loss. Use on a demo account first.
  • Results may vary depending on market conditions, broker, and settings.
  • We recommend thorough backtesting and forward testing before using with real funds.
© ROBOTFX Free educational tools by RobotFX. Use entirely at your own risk; we are not liable for any financial losses incurred.