我有一个由Web服务返回的分层数据集。我无法控制这项服务或结构,必须充分利用它......
{
"Parent": [
{
"ParentId":"yyyyyy",
"Children": [
{
"ChildId":"xxxxxx",
"Grandchildren": [
{
"GrandchildId":"nnnnnnn"
},
]
}
]
},
]
所以父母有一系列孩子。每个子元素都有一个"孙子"的数组。它实际上是由网络服务返回的JSON。
我所做的是我创建了一个字典类型,其中键是Parent Id,值是Children数组。这样,我可以轻松地查找父母的孩子。同样,我有另一个字典/哈希,其中键是Child Id,我可以用它来查找孙子阵列。
这里有趣的地方。
我正在寻找一种能够从孙子中快速确定孩子和/或父母的方法。
最好的方法是什么?
我能想到并且很想使用的强力方法是创建所有孙元素的数组或列表,并为每个元素赋予它一个指向那些对象的父和祖父的属性。
我在JavaScript中这样做。但是,从CS角度来看,我更感兴趣的是什么是最佳解决方案?应该使用什么数据结构?