小编典典

获取第一个JSON属性

json

有没有一种方法来获取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


阅读 1000

收藏
2020-07-27

共1个答案

小编典典

不能 保证 对象属性的顺序与您放置它们的方式相同。但是,实际上,所有主流浏览器都会按顺序返回它们。因此,如果您可以依靠它…

var firstProp;
for(var key in jsonObj) {
    if(jsonObj.hasOwnProperty(key)) {
        firstProp = jsonObj[key];
        break;
    }
}

另请注意,Chrome中存在有关订购的错误,在某些情况下,订购时的订购方式并不正确。至于将来的变化,实际上机会很小,因为我相信这已成为标准的一部分,因此,如果对此有任何支持,则只会成为官方。

但是,考虑到所有问题,如果真的,真的,绝对,积极地想要确保它以正确的顺序使用数组就可以了。否则,上面的方法就可以了。

2020-07-27