freepascal:JSON和递归数据结构

时间:2017-01-09 23:29:10

标签: json freepascal

fpjson可以处理从/到json的以下结构的加载和保存:

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

谢谢!

1 个答案:

答案 0 :(得分:0)

fcl-json可以存储嵌套数据(一个对象可以有一个对象数组,可以有一个对象数组,请参阅提供的示例)

但是这样你就可以存储对象本身,而不是引用,这对于树来说很好,但对于循环结构则不行。

可以通过存储包含所有数据的平面数组来表示DAG,但是将具有索引或每个记录的某种形式的唯一ID的项目存储到数组中而不是指针中。

如果你的root不是第一个元素,你需要另外存储root的索引/ iD