程序库: JSON Serialization and Deserialization (native MQL) - 页 11 1...456789101112131415161718 新评论 Andrey Dik 2018.02.21 18:18 #101 o_o:你是什么意思?我做的?- 不,我的想象力没那么丰富,但这可以说是生活中的一个具体例子。 我的意思是--我们能不能不要指针和脑洞大开的构造? 我希望简单一些(我会谦虚地对库函数代码本身保持沉默)。 --- 2018.02.21 18:27 #102 Andrey Dik:我有吗?- 不,我的想象力没有那么丰富,但这可以说是生活中的一个具体例子。我是说没有指针和脑洞大开的构造不行吗?你到底想要什么? 日志中的 json 数据还是 "要钱 "按钮? Andrey Dik 2018.02.21 18:33 #103 o_o:你到底需要什么? 日志中的 json 数据?"要钱 "按钮?这就是问题所在: CJAVal* j1=GetPointer(js.m_e[i].m_e[i1]);在不了解库代码的情况下,你怎么能猜到它是什么,以及为什么要这样做才能得到你想要的? 看来,我不是唯一一个这么 "无知 "的人。 例如,m_e--这个小东西是什么? 不能叫group 或m_key 吗?- 这不就是groupName 吗!字母多得多吗?- 没有,但更清晰了。 一句话:这个库非常强大,能创造奇迹,但它是用 "枯燥的语言 "写成的,胆小鬼、哺乳期妇女和儿童最好不要看代码....。 Delta.800 2018.02.21 20:09 #104 Andrey Dik:这就是问题所在:在不了解程序库代码的情况下,如何猜测它是什么以及为什么要这样做才能达到目的?看来,"一窍不通 "的人不止我一个。例如,m_e--这个小东西是什么? 难道不能叫group 或m_key?- 嗯,除了groupName,它什么都不是!字母多得多吗?- 没有,但更清楚了。一句话:这个函数库非常强大,能创造奇迹,但它是用 "枯燥的语言 "写成的,胆小鬼、哺乳期妇女和儿童最好不要看代码....。也许你应该试试其他库? 我以前用过它,但它无法在 MQL5(旧版本)上编译 ....您需要调整它...或者试试新版本... http://www.lordy.co.nf/mql4/ 论坛上有关于它的地方... --------------------- 在这里... https://www.mql5.com/en/code/11134 --- 2018.02.21 20:24 #105 Andrey Dik:这就是问题所在:在不了解程序库代码的情况下,如何猜测它是什么以及为什么要这样做才能达到目的?看来,"一窍不通 "的人不止我一个。例如,m_e--这个小东西是什么,难道不能叫group 或m_key?- 这不就是groupName 吗!字母多得多吗?- 没有,但更清楚了。一句话:这个库非常强大,能创造奇迹,但它是用 "枯燥的语言 "写成的,胆小鬼、哺乳期妇女和儿童最好不要看代码....。是谁强迫你进入 m_e 数组的? 我不知道你想从代码中得到什么。我也不知道你在开发什么样的任务。 --- 首先,json 是一种数据传输格式和结构。 如果你不理解接收到的数据的结构,那不是我的类的问题,而是你的问题。请查阅你的数据源的文档,在那里寻找理解。 其次--类实现了处理格式的基本功能--序列化、结构存储和便捷处理 如果你想从某个数组中获取数据,你可以编写方便的代码。 Print( js["фирма1"]["модельный_ряд1"][0][0].TODbl() ); 如果你想从某个数组中获取数据,你可以写一些方便的代码,而不是以循环的形式来获取整个结构的冗长废话。我不知道这到底是怎么回事。 Andrey Dik 2018.02.21 20:29 #106 Delta.800:也许你应该换一个图书馆。我以前用过它,但它无法在 MQL5(旧版本)上编译...您需要调整它...或者试试新版本...http://www.lordy.co.nf/mql4/论坛上有关于它的地方....---------------------在这里...https://www.mql5.com/en/code/11134谢谢,但我完全相信谢尔盖耶夫的代码。当然,是我的指针太蠢了,我向你道歉。难以阅读 - fii,真是个问题...... Andrey Dik 2018.02.21 20:46 #107 o_o: Print( js["фирма1"]["модельный_ряд1"][0][0].TODbl() );而不是以循环形式贯穿整个结构的冗长废话。我不知道这到底是怎么回事。通过组名,数据可能不存在,或者组不完整,或者组名不在数据中,或者其他......那怎么办? 这种方法更简单明了,而且可以随时检查数组的大小,这样在填充结构时就不会出现问题: js.group [счетчикФирм].group [счетчикМодельногоРяда].group [счетчикМоделей].group [счетчикМодельВизОбъем].ToDbl ()); --- 2018.02.21 20:58 #108 在这种变体中,不清楚如何处理一个不存在的元素 像这样js["фирма1"]["модельный_ряд1"][0][0].TODbl() 这样 js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ()); 如果 js["firm1"] 或 js.group [counterFirms] 没有出现,输出什么? 此时将访问空 元素并出现错误.... Andrey Dik 2018.02.21 21:15 #109 o_o:在这些变体中,不清楚如何处理不存在的元素像这样js["фирма1"]["модельный_ряд1"][0][0].TODbl() 这样js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ());如果没有出现 js["firm1"] 或 js.group [counterFirms],要输出什么?此时将引用空元素并出错...商店里有书架,每个流派和作者都有不同的书架(程序使用的结构)。还有一些书籍(数据)可能会或可能不会出现在商店里.....。 当然不是。 以这种方式解决: js["фирма1"]["модельный_ряд1"][0][0].TODbl() 您需要知道组的名称,如果传入数据中的组是存在的,但名称不存在? 如果 .....就会发生很多事情... 如果至少有一个数据的大小与我们的结构不一致,那么这些数据就是比特数据,没有必要再去搞清楚这些数据中到底有哪些是比特数据,只要忽略这些数据包就可以了。在访问不存在(或空)的数组单元时不会出现问题,也不会对到达数据的正确性产生不确定性。 程序也不会因为某些原因而崩溃。 [删除] 2018.11.05 19:44 #110 有谁或作者能回答这是否应该支持嵌套 JSON?也就是说,一个 CJAVal 实例包含一个键 "2 "和 "3",它们是另一个 CJAVal 实例。代码似乎可以运行,但在序列化时,键是空白的。 例如,我得到了 {"":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"":{"sl":5274.80000000,"tp":5289.06000000,"order":3}} 但应该得到 {"2":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"3":{"sl":5274.80000000,"tp":5289.06000000,"order":3}} 1...456789101112131415161718 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你是什么意思?
我做的?- 不,我的想象力没那么丰富,但这可以说是生活中的一个具体例子。
我的意思是--我们能不能不要指针和脑洞大开的构造? 我希望简单一些(我会谦虚地对库函数代码本身保持沉默)。
我有吗?- 不,我的想象力没有那么丰富,但这可以说是生活中的一个具体例子。
我是说没有指针和脑洞大开的构造不行吗?
你到底想要什么? 日志中的 json 数据还是 "要钱 "按钮?
你到底需要什么? 日志中的 json 数据?"要钱 "按钮?
这就是问题所在:
CJAVal* j1=GetPointer(js.m_e[i].m_e[i1]);在不了解库代码的情况下,你怎么能猜到它是什么,以及为什么要这样做才能得到你想要的?
看来,我不是唯一一个这么 "无知 "的人。
例如,m_e--这个小东西是什么? 不能叫group 或m_key 吗?- 这不就是groupName 吗!字母多得多吗?- 没有,但更清晰了。
一句话:这个库非常强大,能创造奇迹,但它是用 "枯燥的语言 "写成的,胆小鬼、哺乳期妇女和儿童最好不要看代码....。
这就是问题所在:
在不了解程序库代码的情况下,如何猜测它是什么以及为什么要这样做才能达到目的?
看来,"一窍不通 "的人不止我一个。
例如,m_e--这个小东西是什么? 难道不能叫group 或m_key?- 嗯,除了groupName,它什么都不是!字母多得多吗?- 没有,但更清楚了。
一句话:这个函数库非常强大,能创造奇迹,但它是用 "枯燥的语言 "写成的,胆小鬼、哺乳期妇女和儿童最好不要看代码....。
也许你应该试试其他库?
我以前用过它,但它无法在 MQL5(旧版本)上编译 ....您需要调整它...或者试试新版本...
http://www.lordy.co.nf/mql4/
论坛上有关于它的地方...
---------------------
在这里...
https://www.mql5.com/en/code/11134
这就是问题所在:
在不了解程序库代码的情况下,如何猜测它是什么以及为什么要这样做才能达到目的?
看来,"一窍不通 "的人不止我一个。
例如,m_e--这个小东西是什么,难道不能叫group 或m_key?- 这不就是groupName 吗!字母多得多吗?- 没有,但更清楚了。
一句话:这个库非常强大,能创造奇迹,但它是用 "枯燥的语言 "写成的,胆小鬼、哺乳期妇女和儿童最好不要看代码....。
是谁强迫你进入 m_e 数组的?
我不知道你想从代码中得到什么。我也不知道你在开发什么样的任务。
---
首先,json 是一种数据传输格式和结构。 如果你不理解接收到的数据的结构,那不是我的类的问题,而是你的问题。请查阅你的数据源的文档,在那里寻找理解。
其次--类实现了处理格式的基本功能--序列化、结构存储和便捷处理
如果你想从某个数组中获取数据,你可以编写方便的代码。
如果你想从某个数组中获取数据,你可以写一些方便的代码,而不是以循环的形式来获取整个结构的冗长废话。我不知道这到底是怎么回事。
也许你应该换一个图书馆。
我以前用过它,但它无法在 MQL5(旧版本)上编译...您需要调整它...或者试试新版本...
http://www.lordy.co.nf/mql4/
论坛上有关于它的地方....
---------------------
在这里...
https://www.mql5.com/en/code/11134
谢谢,但我完全相信谢尔盖耶夫的代码。
当然,是我的指针太蠢了,我向你道歉。难以阅读 - fii,真是个问题......
o_o:
而不是以循环形式贯穿整个结构的冗长废话。我不知道这到底是怎么回事。
通过组名,数据可能不存在,或者组不完整,或者组名不在数据中,或者其他......那怎么办?
这种方法更简单明了,而且可以随时检查数组的大小,这样在填充结构时就不会出现问题:
js.group [счетчикФирм].group [счетчикМодельногоРяда].group [счетчикМоделей].group [счетчикМодельВизОбъем].ToDbl ());
在这种变体中,不清楚如何处理一个不存在的元素
像这样
js["фирма1"]["модельный_ряд1"][0][0].TODbl()
这样
js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ());
如果 js["firm1"] 或 js.group [counterFirms] 没有出现,输出什么?
此时将访问空 元素并出现错误....
在这些变体中,不清楚如何处理不存在的元素
像这样
js["фирма1"]["модельный_ряд1"][0][0].TODbl()
这样
js.group [countFirms].group [countModelRow].group [countModels].group [countModelVolume].ToDbl ());
如果没有出现 js["firm1"] 或 js.group [counterFirms],要输出什么?
此时将引用空元素并出错...
商店里有书架,每个流派和作者都有不同的书架(程序使用的结构)。还有一些书籍(数据)可能会或可能不会出现在商店里.....。
当然不是。
以这种方式解决:
js["фирма1"]["модельный_ряд1"][0][0].TODbl()
您需要知道组的名称,如果传入数据中的组是存在的,但名称不存在? 如果 .....就会发生很多事情...
如果至少有一个数据的大小与我们的结构不一致,那么这些数据就是比特数据,没有必要再去搞清楚这些数据中到底有哪些是比特数据,只要忽略这些数据包就可以了。在访问不存在(或空)的数组单元时不会出现问题,也不会对到达数据的正确性产生不确定性。 程序也不会因为某些原因而崩溃。
有谁或作者能回答这是否应该支持嵌套 JSON?也就是说,一个 CJAVal 实例包含一个键 "2 "和 "3",它们是另一个 CJAVal 实例。代码似乎可以运行,但在序列化时,键是空白的。
例如,我得到了
{"":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"":{"sl":5274.80000000,"tp":5289.06000000,"order":3}}但应该得到
{"2":{"sl":5270.98000000,"tp":5285.26000000,"order":2},"3":{"sl":5274.80000000,"tp":5289.06000000,"order":3}}