从内部级别获取 JSON 个对象的键
Get keys of JSON object from inner levels
我在获取对象内部级别的键值时遇到问题。
这是示例对象
{
"dataset":{
"Categories":[
{
"Desserts":[
"Sweets",
"Ice Creams",
"Pastry",
"Moose",
"Jelly",
"Donut",
"Custard",
"Puddings",
"Cookies",
"Pies"
]
},
{
"Juices and Beverages":[
"Cold",
"Hot",
"Fresh",
"Mocktail",
"Sodas"
]
},
{
"Indian Breads":[
"Plain",
"Stuffed"
]
},
{
"Salads":[
"Green",
"Vegetable",
"Fruit"
]
},
{
"Soups":[
"Clear",
"Thick"
]
}
]
}
}
我尝试在外层交互对象。
for(var k in dataset.Categories)
categories.push(k);
但我得到的结果是 0,1,2,3,4。
如何获取关卡中的键值?喜欢"Desserts","Juices and Beverages",....
Categories
是一个数组,因此如果您在其上使用 for..in
,您将获得的值是数组索引。
要获取您想要的值,您可以使用:
var categoryNames = dataset.Categories.map(function (item) {
return Object.keys(item)[0];
});
您正在插入索引而不是值。代码未经测试,但应该可以工作。
for(var k in dataset.Categories)
categories.push(dataset.Categories[k]);
我在获取对象内部级别的键值时遇到问题。
这是示例对象
{
"dataset":{
"Categories":[
{
"Desserts":[
"Sweets",
"Ice Creams",
"Pastry",
"Moose",
"Jelly",
"Donut",
"Custard",
"Puddings",
"Cookies",
"Pies"
]
},
{
"Juices and Beverages":[
"Cold",
"Hot",
"Fresh",
"Mocktail",
"Sodas"
]
},
{
"Indian Breads":[
"Plain",
"Stuffed"
]
},
{
"Salads":[
"Green",
"Vegetable",
"Fruit"
]
},
{
"Soups":[
"Clear",
"Thick"
]
}
]
}
}
我尝试在外层交互对象。
for(var k in dataset.Categories)
categories.push(k);
但我得到的结果是 0,1,2,3,4。
如何获取关卡中的键值?喜欢"Desserts","Juices and Beverages",....
Categories
是一个数组,因此如果您在其上使用 for..in
,您将获得的值是数组索引。
要获取您想要的值,您可以使用:
var categoryNames = dataset.Categories.map(function (item) {
return Object.keys(item)[0];
});
您正在插入索引而不是值。代码未经测试,但应该可以工作。
for(var k in dataset.Categories)
categories.push(dataset.Categories[k]);