Change the loop to,
for (obj in this.jsondata[i]) {
alert(obj);
var item = {};
item[obj] = this.jsondata[i][obj];
this.propList.push(item);
}
When you use a literal object to create an object, property names are not evaluated as variables. To specify the property name of an object using the current value of the variables, you must use the format obj[variable]. This will create a property in obj, whose name will be the same as the current value variable.
source
share