我目前正在尝试处理GET请求,该请求返回的application / json结构如下:
{
"items": {
"item001": {"id":1234, "name": "name001"},
"item002": {"id":1235, "name": "name002"},
"item003": {"id":1236, "name": "name003"}
}
}
我正在尝试获取一个类似于
的字符串数组array = ["item001", "item002", "item003"];
我不在乎任何底层层次结构,只需要将每个对象的键作为数组即可。我尝试了几种不同的方法(map(),JSON.stringify()等),但似乎无法以array [i]格式索引每个键。
事实上,例如,每次我尝试打印单个键的名称时,
var obj = JSON.parse({'whole json here'});
print(obj.items[1]);
我收到一个[object Object]错误,这很有意义,因为obj.items未使用除“ item001”以外的其他键进行索引。但是,我不知道每个对象的键是什么,因此需要一组键。先感谢您!
答案 0 :(得分:0)
您可以执行Object.keys
。它将返回对象键的数组
var x = {
"items": {
"item001": {
"id": 1234,
"name": "name001"
},
"item002": {
"id": 1235,
"name": "name002"
},
"item003": {
"id": 1236,
"name": "name003"
}
}
}
var y = Object.keys(x.items);
console.log(y)
答案 1 :(得分:0)
您可以使用Object.keys()
。对于Reference
var obj={"items":{"item001":{"id":1234,"name":"name001"},"item002":{"id":1235,"name":"name002"},"item003":{"id":1236,"name":"name003"}}};
var result = Object.keys(obj.items);
console.log(result);
答案 2 :(得分:0)
Object.keys
将做到这一点。
var obj = JSON.parse({'your json'});
console.log( Object.keys(obj.items) );