Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Dynamic$.getJSON,如何获取元素?_Javascript_Jquery_Json - Fatal编程技术网

Javascript Dynamic$.getJSON,如何获取元素?

Javascript Dynamic$.getJSON,如何获取元素?,javascript,jquery,json,Javascript,Jquery,Json,我目前正在开发一个页面,该页面将读取目录中的XML文件(动态),然后通过JSON将它们发送回客户端。但是,我不确定如何引用返回的JSON数组的动态元素。例如 $.getJSON('getfilenames.php', function(data) { for(var i in data) { var temp3 = data[i].name;(<-- if I dont know what .name was) var temp2 = tem

我目前正在开发一个页面,该页面将读取目录中的XML文件(动态),然后通过JSON将它们发送回客户端。但是,我不确定如何引用返回的JSON数组的动态元素。例如

$.getJSON('getfilenames.php', function(data) {
    for(var i in data)
    {
        var temp3 = data[i].name;(<-- if I dont know what .name was)
        var temp2 = temp3.replace(".xml","");
        temp = temp +'<option value="'+temp3+'">' +temp2 +'</option>';
    }
    temp = temp +'</select>';
    $("#div2").html(temp);
}

如何获取name属性。

您只需迭代返回对象的属性即可

for (var prop in data[i]){
   // prop hold the name of the property (name) in your example
   // do something with data[i][prop]
}
您可以使用多个
符号深入对象

从上一个示例中(假设保存此对象的变量是
data


因此,我会遍历数据以找到第一组元素,将它们保存到外部数组中,然后遍历该数组(data.whateverelement[I]),直到找到数据?您可以创建一个处理单个级别的函数,并递归地使用它来读取整个数据。。但是,如果您打算在屏幕上转储数据的同时使用这些数据。。你需要知道你在找什么。。请告诉我一种方法来确定您已获得所需的数据。我将只需要最多向下搜索2个子项,例如root,child。(json直接来自xml文件),有了这个约束,仅仅做2个嵌套for语句就足够了吗?非常感谢Gaby!非常感谢!
for (var prop in data[i]){
   // prop hold the name of the property (name) in your example
   // do something with data[i][prop]
}
data.contact.name // "John Doe"
data.contact['@attributes'].id // 1 - we used the [] syntax because of @