我有一个JSON对象
var obj = {"firstName":"John", "lastName":"Doe"}
我可以使用obj.firstName
等返回值。但在我的情况下,我可能不知道标题的名称,但我知道它的位置。有没有办法可以使用它的位置返回值?例如obj.1
答案 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'