如果名称和值未知并且长度也未知,如何读取 JSON 数据

how to read json data if name and value is unknown and there length also

本文关键字:未知 何读取 读取 数据 JSON 如果      更新时间:2023-09-26

我必须动态创建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将是名称,第二个将显示值,但是孩子之间有多少是未知的,而且顺序也不相同。任何帮助将不胜感激。提前致谢

"

sub"是一个对象数组,你可以循环这些对象属性。这是一种方法:

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 的内容,也许您还可以更改其组织以避免您的问题。