我的对象数据如下:
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(Grand Parent)有13(父),13有15(子)。类似地,11(父)有14,14有16。
使用hasOwnProperty
或任何其他方法,任何人都可以给我计算关系,以便进一步使用它。
答案 0 :(得分:1)
由于您没有处理有效的JSON结构,因此必须通过eval
运行它:
var myObject = eval(object);
现在你有了一个有效的Javascript对象,你可以循环来获取每个孩子的数量或每个第一个孩子的总和等等。
请参阅有关how to get the length of an object的StackOverflow问题。提供有和没有jQuery的答案。
答案 1 :(得分:0)
您可以使用 eval 将其转换为对象:
var o = eval(object);
现在您可以使用for..in来迭代属性。您可以测试每个属性的值,如果它是一个对象,也可以对其进行操作, ad infinitum 。