程序库: JSON Serialization and Deserialization (native MQL) - 页 4

 
Dennis Kirichenko:

一个 "傻瓜 "提出的问题。

如何在不使用键查找方法的情况下获取键值?

数组元素,以及将数组复制到指定元素。

代码库仍在更新中。这就是我在这里发布 1.06 版本的原因。

新函数示例

   Print("JASon Example Array access:");
   js["DirAccess"][0]=-1; // 直接引用索引 0 处的元素,该元素尚未存在。该元素将立即创建
   js["DirAccess"][1]=22;
   string a[] = {"test", "add", "to array"};
   for (int i=0; i<3; ++i) js["ArrayAdd"].Add(a[i]); // 为数组添加一个元素
   CJAson* js_ar=js["ArrayCopy"]; js_ar.Set(js["DirAccess"].m_e); // 注意''前后的括号数组复制'. Он создается новый, и для корректной работы с указателем он должен создасться до обращения к его функции Set
附加的文件:
jason.mqh  30 kb
 

你好!

在最新的 1495 版中,Jason.mqh 停止了编译。

我怀疑是因为 第 5 点

 

这不是问题 )

1.07 - 修复了第 1495 版中的编译错误
附加的文件:
JAson.mqh  30 kb
 
o_O:

这不是问题 )

1.07 - 修复了第 1495 版中的编译错误
谢谢,它能用了!
 

太好了

非常感谢

 
准时到非常感谢。一周前我也遇到过无法编译的情况,但一开始我以为是我自己做了什么。)))
 

超级库

不过,需要针对当前版本的 MT5 做一些 "外观 "调整,否则会出错。

 

将 MetaEditor 升级到版本:5.00 build 1498 后,编译代码时产生以下错误:

cannot implicitly convert type 'string' to 'bool'.

第 53 行:void operator=(string a) { m_type=a?jtSTR:jtNULL; m_sv=a; m_iv=StringToInteger(m_sv); m_dv=StringToDouble(m_sv); m_bv=a!=NULL; }

该版本似乎不支持 m_type=a?jtSTR:jtNULL。

附加的文件:
 
marquez:

不过,它需要针对当前版本的 MT5 做一些 "外观 "调整,否则会出错。

为什么?

1.07 版编译无误。

 
作者已出版了解决这一问题的更新版。