我使用RapidJSON解析大型GeoJSON文件。這些文件中的大部分內容(以及解析後的內存)都是巨型座標數組。對於我的申請,我對這些不感興趣。我希望在解析時跳過它們(不爲它們分配內存)。根據一些使用SAX API的測試,我預計這會大大加快解析速度。使用RapidJSON解析文檔時跳過某些字段
我最初的想法是寫一個自定義Handler。我不得不使用自己的堆棧來構建自己的Value對象,但是,將會複製GenericDocument
類所完成的工作。
我的下一個想法是子類GenericDocument
。其ParseStream
和處理程序方法不是virtual
,但是,所以我不能讓它使用我自己的。我可以實現我自己的ParseStream
,但stack_
字段是私有的,所以即使是一個子類也無法訪問它。
自定義處理程序有自己的堆棧正確的方式去這裏?有沒有人做過這樣的事情?
FWIW,這是一個[版本](https://gist.github.com/danvk/90beec9f0387788eca9c1ba8402dbee1),它具有自己的堆棧和Handler實現的'GenericValue'子類。它的工作原理很快,但在代碼複製方面還有很多不足之處。我很想得到一些關於是否有更好的方法的反饋。 – danvk