-1

我的对象数据如下:

var object = '({10:{id:"10", v_title:"1", ' +
              '13:{id:"13", v_title:"1.1", ' +
                '15:{id:"15", v_title:"1.1.1 ", v_noofpara:"g2 ", v_description:"d1.1.1"}' +
              '}'+
           '},'+ 
           '11:{id:"11", v_title:"2", ' +
             '14:{id:"14", v_title:"2.1", ' +
               '16:{id:"16", v_title:"2.1.1 ", v_noofpara:"g1 ", v_description:"des2.1.1 "}' +
             '}' +
           '}' +
         '})'

请注意,键值 10(祖父)有 13(父),而 13 有 15(子)。同样 11(parent) 有 14 和 14 有 16。

使用hasOwnProperty或任何其他方法都可以给我与关系的计数,以便进一步使用它。

4

2 回答 2

1

由于您没有处理有效的 JSON 结构,因此您必须通过以下方式运行它eval

var myObject = eval(object);

现在您有一个有效的 Javascript 对象,您可以循环获取每个孩子的计数或每个第一个孩子的总和等。
请参阅有关如何获取对象长度的StackOverflow 问题。提供了有和没有 jQuery 的答案。

于 2012-07-04T11:34:11.723 回答
0

您可以使用eval将其转换为对象:

var o = eval(object);

现在您可以使用 for..in 来迭代属性。您可以测试每个属性的值,如果它是一个对象,也可以对它执行 for..in ,直到无穷大。

于 2012-07-04T11:26:11.553 回答