如果我有下面的JSON对象
{
"animals":{
"a_1":{
"species":"Tiger",
"name":"Timmy",
"dob":"2016-03-12",
},
"a_2":{
"species":"Lion",
"name":"Leo",
"dob":"2012-12-04",
}
}
}
我如何搜索返回
"a_1": {
"species":"Tiger",
"name":"Timmy",
"dob":"2016-03-12",
},
为了搜索a_1
?
是否有类似的方式来调用a_1
/ a_2
等?
您可以按键直接搜索。
例如:
var data = {
"animals":{
"a_1":{
"species":"Tiger",
"name":"Timmy",
"dob":"2016-03-12",
},
"a_2":{
"species":"Lion",
"name":"Leo",
"dob":"2012-12-04",
}
}
};
var searchKey = "a_1";
console.log(data["animals"][searchKey]);
我认为你应该将数据结构更改为数组。这会更容易:
const data = {
"animals": {
"a_1": {
"species": "Tiger",
"name": "Timmy",
"dob": "2016-03-12",
},
"a_2": {
"species": "Lion",
"name": "Leo",
"dob": "2012-12-04",
}
}
}
const animalList = Object.keys(data.animals).map(key => ({
key,
item: data.animals[key]
}))
const searchName = input => animalList.filter(animal => animal.item.name === input);
console.log(searchName('Leo'))