访问和搜索JSON文件中的数据

问题描述 投票:0回答:2

如果我有下面的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等?

javascript json search
2个回答
0
投票

您可以按键直接搜索。

例如:

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]);

0
投票

我认为你应该将数据结构更改为数组。这会更容易:

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'))
© www.soinside.com 2019 - 2024. All rights reserved.