动态$ .getJSON,我如何获取元素?

时间:2012-02-14 01:09:38

标签: javascript jquery json

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

$.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元素是什么,我怎么能: 答:检索它们的列表以供参考,或者B:访问数据以自己完成。 我也很好奇我是如何从元素中获取元素的。 EG:

{"contact":{"@attributes":{"id":"1"},"name":"John Doe","phone":"123-456-7890","address":"\n 123 JFKStreet\n "}}

我如何获取name属性。

1 个答案:

答案 0 :(得分:1)

您只需要迭代返回对象的属性..

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.contact.name // "John Doe"
data.contact['@attributes'].id // 1 - we used the [] syntax because of @