序言:我是意大利人,抱歉我的英语不好。
我需要使用javascript / jquery从json对象中检索属性的名称。
例如,从这个对象开始:
{
"Table": {
"Name": "Chris",
"Surname": "McDonald"
}
}
有没有办法获取字符串“Name”和“Surname”?
类似的东西:
//not working code, just for example
var jsonobj = eval('(' + previouscode + ')');
var prop = jsonobj.Table[0].getPropertyName();
var prop2 = jsonobj.Table[1].getPropertyName();
return prop + '-' + prop2; // this will return 'Name-Surname'
答案 0 :(得分:10)
var names = [];
for ( var o in jsonobj.Table ) {
names.push( o ); // the property name
}
在现代浏览器中:
var names = Object.keys( jsonobj.Table );
答案 1 :(得分:1)
您可以浏览对象的属性:
var table = jsonobj.Table;
for (var prop in table) {
if (table.hasOwnProperty(prop)) {
alert(prop);
}
}
必须进行hasOwnProperty
测试,以避免包含从原型链继承的属性。
答案 2 :(得分:0)
在jquery中你可以像这样获取它:
$.ajax({
url:'path to your json',
type:'post',
dataType:'json',
success:function(data){
$.each(data.Table, function(i, data){
console.log(data.name);
});
}
});