我目前正在处理一个页面,该页面将读取目录中的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属性。
答案 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 @