现在,我正在使用SuperObject来解析我的JSON数据(从服务器接收它时),然后将其转储到客户端数据集中。可能存在来自服务器的非常大量的数据。目前,我必须首先将JSON数据解析为ISuperObject
,然后遍历该数据以填充客户端数据集。
我想知道的是,是否有办法绕过双重加载,触发事件,因为正在解析原始数据。例如,一旦解析器检测到新对象的开始,它就会触发一个事件,然后我会在现场准备相应的对象。或者当它解析数组时,我可以准备一个新的数据集记录。
原因是因为对于非常大的数据集,它需要几秒钟,我必须等待它才能完成解析才能使用它。如果我在分析时获取数据,我可以立即使用该数据。
我已经在每页200-500条记录(数百万条记录)中实现了分页,其中包含许多列。在响应性方面,分页仍然无法解决全部需求。
如何使用SuperObject或任何其他已知机制来解决这个问题,而无需编写我自己的完整解析器?
答案 0 :(得分:0)
编写自己的解析器并不难。我为我写过的mongodb连接器编写了一个:https://github.com/stijnsanders/TMongoWire/blob/master/bsonUtils.pas你可以轻松地调整那个连接器来触发你描述的事件。