JSON对象根据位置返回值

时间:2014-08-04 22:01:35

标签: javascript arrays json object

我有一个JSON对象

var obj = {"firstName":"John", "lastName":"Doe"}

我可以使用obj.firstName等返回值。但在我的情况下,我可能不知道标题的名称,但我知道它的位置。有没有办法可以使用它的位置返回值?例如obj.1

3 个答案:

答案 0 :(得分:5)

我假设你会想到Object.keys()for..in循环

你不能依赖它的位置,因为根据浏览器的实现,对象键按照字典顺序排序或不排序,ecma5不强制做任何一种方式。

答案 1 :(得分:2)

JSON没有索引,你可以做的是创建一个索引数组:

var indexes = []
for(var key in obj) {
  indexes.push(key);
}

然后使用这些键来访问JSON元素,请注意for...in以随机顺序返回键。

答案 2 :(得分:1)

这里的答案很好:

https://stackoverflow.com/a/11509718/1443478

var obj = { first: 'someVal' };
obj[Object.keys(obj)[0]]; //returns 'someVal'