如何获得第一个JSON属性?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

有没有办法获得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;
    ...
}
提问于
用户回答回答于

对象的属性顺序不能保证与你放置它们的方式相同。但是,在实践中,所有主流浏览器都按顺序返回它们。所以,如果你依靠这一点没关系......

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

另请注意,Chrome中存在一个关于排序的错误,在某些边缘情况下,它并未按照提供的方式排序。就未来的变化而言,这个机会实际上很小,因为我相信这已经成为标准的一部分,所以如果有什么支持的话只会成为正式的。

但是,所有的事情,如果你真的,真的,绝对的,积极的,想要确保它将以正确的顺序,你需要使用一个数组。否则,以上是好的。

用户回答回答于

扫码关注云+社区