2017-01-09 144 views
0

能fpjson處理負載和以下結構的自/至JSON節省:FreePascal的:JSON和遞歸數據結構

PTreeStructure = ^TTreeStructure; 
TTreeStructure = class 
    name: string; 
    value: Integer; 
    items: array of PTreeStructure; 
end; 

謝謝!

+0

這看起來不像您的真實類型。當然,它是'記錄'而不是'class'。 –

+0

這有什麼關係?我只是簡化了結構以顯示項目的關鍵點:PTreeStructure數組; – xrfang

+0

類是需要由構造函數實例化的引用類型。記錄是可以自動分配的值類型。我會認爲它很重要。無論如何,如果你必須使用一個類,就這樣吧。但是在那種情況下,我很驚訝使用'PTreeStructure =^TTreeStructure',因爲這是一個指向指針的指針。這是如何分配的? –

回答

0

FCL-JSON可以存儲嵌套的數據(一個對象可以具有對象的數組,其可具有對象的數組,請參閱所提供的實施例)

但是這樣你存儲對象本身,而不是參考,這對一棵樹來說很好,但不適合騎自行車的建築。

A DAG可以通過存儲具有所有數據的平面數組來表示,但是將具有索引或每種記錄的某種形式的唯一ID的項存儲到數組中而不是指針。

如果您的根目錄不是第一個元素,則需要額外存儲根目錄的索引/ iD

+0

謝謝,看來我最好只使用fpjson並自己加載/保存。 – xrfang