我必须动态创建json,这不是问题,但在一个地方json名称和值对是随机的,也可以是不同的,所以可以读取json。
var json = {
"set":[
{
"name":"Device 1",
"children":[
{
"name":"name",
"name1":"name",
"xyz":"hello",
"abc":"hello1",
"vwx":"hello2",
"stu":"hello3",
"children":[
{
"type1":"iname",
"type2":"cname",
"type3":"pname"
}
]
}
]
},{
"name":"Device 2",
"children":[
{
"name":"name3",
"name4":"name4",
"def":"hello2",
"lmn":"hello3",
"children":[
{
"type1":"iname",
"type2":"cname",
"type3":"pname"
}
]
}
]
}
]};
这是我在孩子面前迭代数据所做的一部分。但我怀疑的只是孩子之间的数据,这就是为什么我缩短了json,只是将它限制在我问过的问题
$(window).bind("load", function() {
var mouseX;
var mouseY;
$(document).mousemove( function(e) {
mouseX = e.pageX;
mouseY = e.pageY;
});
$.each(device_json.device, function(i, v) {
$('#front'+v.position).append(v.name);
$('#front'+v.position).hover(function(){
$('#front'+v.position).append('<div class="hover"><b>Name :</b> ' +v.name+'</div>').css({'cursor':'pointer'}).show();
$('.hover').css({'top':mouseY,'left':mouseX});
},function(){
$('.hover').remove();
});
我必须以表格形式显示儿童之间的数据,首先td将是名称,第二个将显示值,但是儿童之间有多少是未知的,并且序列也不相同。任何帮助将不胜感激。谢谢提前
答案 0 :(得分:0)
“children”是一个对象数组,您可以循环这些对象属性。这是一种方法:
for (var i = 0, keys = Object.keys(object), l = keys.length; i < l; ++i){
propertyValue = object[keys[i]];
}
您可以在https://jsperf.com/iterating-over-object-properties/2
找到其他人然后你可以测试属性的名称,看看它是否是“子”数组,或者别的什么。
如果您可以访问创建此json的内容,也许您也可以更改其组织以避免出现问题。