2

我有 JSON 数据,我想知道是否有办法确定嵌套对象的父对象。例如,采用这种结构:

Vehicles[]
 ForSaleCars[]
  Car{}
   Make
   Model
   Year
 SoldCars[]
  Car{}
   Make
   Model
   Year

假设这是在var json = ;并且已经填充了一些数据。像这样访问 ForSaleCars 数组中的第二辆车很容易:

var secondCar = json.Vehicles.ForSaleCars[1];

在这一点上,仅从变量中secondCar,是否可以判断它来自ForSaleCars而不是SoldCars

我问的原因是我正在递归地遍历一个 json 对象图,很高兴看到对象有哪个父对象而不进行跟踪。

4

3 回答 3

5

此时,仅从 secondCar 变量,是否有可能判断它来自 ForSaleCars 而不是 SoldCars?

不会。JavaScript 不会自动跟踪引用的复制来源。

于 2012-10-28T20:46:08.657 回答
1

这不可能。您可以改为维护哈希。

于 2012-10-28T20:46:44.897 回答
1

不,您正在从父级复制,JavaScript 不会跟踪父级引用曾经是什么。如果您希望能够对其进行跟踪,则需要添加参考:

var secondCar = json.Vehicles.ForSaleCars[1];
secondCar.parent = json.Vehicles;
于 2012-10-28T20:47:34.133 回答