Object.getOwnPropertyNames函数(JavaScript)从该数据中执行';nt工作
从某个API服务器检索的数据中获取对象属性名称时遇到问题:Object.getOwnPropertyNames函数(JavaScript)从该数据中执行';nt工作,javascript,Javascript,从某个API服务器检索的数据中获取对象属性名称时遇到问题: var arrData = [{"data": {"plmn":"Voda","id":"B193","time":1499257121817,"cell":{"rsrp": [-132.5,-108.88],"rsrq":[-18.69,-6.56],"earfcn":1550,"pci":454,"celltiming": [252],"sinr":-12.8,10.7]},"mac":"9C65F9"},"time":14
var arrData = [{"data":
{"plmn":"Voda","id":"B193","time":1499257121817,"cell":{"rsrp":
[-132.5,-108.88],"rsrq":[-18.69,-6.56],"earfcn":1550,"pci":454,"celltiming":
[252],"sinr":-12.8,10.7]},"mac":"9C65F9"},"time":1499282331405,
},{"data":
{"plmn":"Voda","rssi":-106,"id":"4179","time":315939662698,"cells":
[{"sc":453,"ecno":-19.53,"r99":"intraMon","rscp":-125.53,"ch":10837},
{"sc":452,"ecno":-13.97,"r99":"active","rscp":-119.97,"ch":10837},
{"sc":452,"ecno":-19.53,"r99":"active","rscp":-125.53,"ch":10812},
{"sc":453,"ecno":-19.37,"r99":"intra","rscp":-125.37,"ch":10812}],"mac":
"9C65F9211012"},"time":1499282452590,"deviceID":"9C65F9211012"}]
我已尝试使用以下代码:
var collectField = [];
for (var prop in arrData) {
if (arrData.hasOwnProperty(prop)) {
collectField.push(prop);
}
}
// and still wrong Outputs: [0,1,2,3.....]
console.log(collectField);
我期望的输出结果是:
[plmn,id,time,cell,,ecno,cells,rscp..and all of that object field]
希望有人能帮助解决这个问题
提前感谢
,因为in
构造不会从数组中检索对象,而是索引。因此,您试图访问号码上的hasOwnProperty
。首先需要访问数组成员,然后访问属性,例如:
for (var index in arrData) {
var obj = arrData[index];
if (obj.hasOwnProperty(prop)) {
collectField.push(obj[prop]);
}
}
请添加有效数据。json无效关于
单元格
vs单元格
?这已经是真实数据了,我复制粘贴在这里Nina Scholz。这些数据都是通过粘贴来实现的。它将显示语法错误。很好,您为有问题的数据结构提供了解决方案。