有没有一种方法来获取JSON对象的第一个属性的名称?
我想做这样的事情:
var firstProp = jsonObj[0];
编辑: 我得到一个JSON对象,其中包含具有图像URL的数组类别。
像这样:
{ "category1":["image/url/1.jpg","image/url/2.jpg"], "category2":["image/url/3.jpg","image/url/4.jpg"] }
然后,我遍历该对象以插入图像,而我真正想要的只是一种优雅的方式来查看首先插入哪个类别。一开始我只是做了
for (var cat in images) { if (i==0) firstCat = cat; ... }
但这有点丑陋…所以基本上这只是一个优雅的问题:p
不能 保证 对象属性的顺序与您放置它们的方式相同。但是,实际上,所有主流浏览器都会按顺序返回它们。因此,如果您可以依靠它…
var firstProp; for(var key in jsonObj) { if(jsonObj.hasOwnProperty(key)) { firstProp = jsonObj[key]; break; } }
另请注意,Chrome中存在有关订购的错误,在某些情况下,订购时的订购方式并不正确。至于将来的变化,实际上机会很小,因为我相信这已成为标准的一部分,因此,如果对此有任何支持,则只会成为官方。
但是,考虑到所有问题,如果真的,真的,绝对,积极地想要确保它以正确的顺序使用数组就可以了。否则,上面的方法就可以了。