2013-12-22 50 views
2

現在,我使用SuperObject解析我的JSON數據(從服務器接收它),然後將其轉儲到客戶端數據集中。可能會有大量來自服務器的數據。目前,我必須首先將該JSON數據解析爲ISuperObject,然後遍歷該數據填充客戶端數據集。有沒有辦法解析JSON並在現場觸發事件?

我在想什麼是否有辦法繞過雙重加載,觸發事件原始數據正在被解析。例如,一旦解析器檢測到一個新對象的開始,它就會觸發一個事件,然後我會在現場準備相應的對象。或者當它解析一個數組時,我可以準備一個新的數據集記錄。

原因是因爲對於非常大的數據集,它需要幾秒鐘的時間,我必須等待它完成解析後才能使用它。如果我得到的數據是它正在被解析,我可以立即在當場利用這些數據。

我已經實現了每頁200-500條記錄(在數百萬條記錄上)與多列的分頁。當涉及響應時,分頁仍不能解決所有需求。

如何在不使用自己的完整解析器的情況下使用SuperObject或任何其他已知機制來解決此問題?

+0

PS - 我將獎勵接受的答案,獎勵100 –

+2

您是否嘗試使用'AsMethod'?或'.M []'?此示例顯示如何在找到某個特定屬性時定義回調:https://code.google.com/p/superobject/source/browse/demos/googlesearch/main.pas我只是沒有看它是否打電話那些在飛行中,或者它首先分析一切。這可能是更快,只是嘗試.. –

+0

@Wouter謝謝我從來沒有明白.M直到現在;-) –

回答